Tutorial: Social Semantics
Dr Matthew Rowe, Knowledge Media Institute

      Tutorial: Social Semantics, Wed 23/05/12 14:00-15:00
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




2
SOCIAL SEMANTICS, SO
    WHAT?

3
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


4
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)


5
Spoilt for choice




6
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?



7
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




8
Ta Da! The Social Semantic Web




              http://newtechpost.com/2011/09/09/what-is-the-social-semantic-web-and-why-do-we-need-it


9
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!



10
REPRESENTING SOCIAL DATA
     SEMANTICALLY

11
The Social Semantic Web Stack
                                                              Behaviour                     Requires
                                                                             OUBO

                               Drupal
                                                       found_in        found_in
                                        Semantic
     CommonTag
                                        MediaWiki                                         SIOC
                                               Collaborative                  Online
           MOAT
                                              Environments                  Communities
                  Folksonomies
                                                                  contain
                                            contain                                              Schema.org
                         describe                                     composed_of
         Schema.org                                   composed_of                         Microformats
                 OPO                                            Social            SemSNA
                                  Content
                                                               Networks
                       SIOC                                                  FOAF

                                    published_by            contain
                  Schema.org

                        Microformats
                                                   People
                                        FOAF




12
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!



13
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




14
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>!




15
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




16
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




17
Combining FOAF + SIOC




18
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




19
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


20
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




21
The Social Semantic Web Stack - Recap
                                                              Behaviour                     Requires
                                                                             OUBO

                               Drupal
                                                       found_in        found_in
                                        Semantic
     CommonTag
                                        MediaWiki                                         SIOC
                                               Collaborative                  Online
           MOAT
                                              Environments                  Communities
                  Folksonomies
                                                                  contain
                                            contain                                              Schema.org
                         describe                                     composed_of
         Schema.org                                   composed_of                         Microformats
                 OPO                                            Social            SemSNA
                                  Content
                                                               Networks
                       SIOC                                                  FOAF

                                    published_by            contain
                  Schema.org

                        Microformats
                                                   People
                                        FOAF




22
APPLICATIONS OF SOCIAL
     SEMANTICS

23
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


24
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

25
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' />!


26
Facebook Open Graph




27
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

28
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 …
29
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:




30
Disambiguating Identity Web References (II)
 !   Graph traversals and clustering:




31
Disambiguating Identity Web References (III)
 !   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

32
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


33
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


34
The third stage of our approach then compiles the rule base              not across rules engines, but across RDF stores. SPIN rules
                                      from the Skeleton Rule Base. The Skeleton Rule Base contains                can be directly executed on the data stores and no intermediate
                                      a single rule for each role that is to be detected in the commu-            engines with communication overhead need to be introduced.
                                      nity. The antecedent of each rule contains a mapping between                Finally, full support for SPIN is provided by TopBraid, includ-
                                      a feature and the level that that feature should be:                        ing the TopBraid composer editor, templates,etc.17

            Role Analysis in Online Communities
                                      popularity=low, initiation=high -> roleA
                                         The Skeleton Rule Base is platform-dependent and is set ac-
                                                                                                                     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:
                                      cording to the analysis that is to be performed - in the following          oubo:fn getRoleType(?user,?temp,?forum)                     and
                                      section we describe the process of building the Skeleton Rule               smf:buildURI("oubo:Role{?type}"). The former function
            !   Community hosts need to know how their community is functioning and how it
                                      Base and how the feature-to-level mappings are initially de-                takes as parameters the user whose role is to be inferred -
                                      rived. The rules are constructed from the Skeleton Rule Base
                will evolve           and the bins derived for each feature such that level boundaries
                                                                                                                  designated by ?user, the time period over which the user’s
                                                                                                                  behaviour is to be assessed - given by ?temp - and the location
                                      are set within the rule:
            !   Derive thepopularity<0.5, initiation>0.4 a community and correlate with its health
                            role composition of -> roleA                                                          in which the user’s behaviour to be assessed and role inferred -
                                                                                                                  given by ?forum.
                                         The final stage of the approach is to apply the rules to the              PREFIX oubo : < h t t p : / / p u r l . o r g / n e t / oubo / 0 . 3 > .
                                                                                                                  PREFIX s i o c : < h t t p : / / r d f s . o r g / s i o c / ns > .
                                      community users and infer each user’s role. Rules are encoded               PREFIX smf : < h t t p : / / t o p b r a i d . o r g / s p a r q l m o t i o n f u n c t i o n s #> .
                                      using SPIN12 functions that are triggered within the WHERE                  PREFIX s o c i a l − r e a l i t y : < h t t p : / / p u r l . o r g / n e t / s o c i a l − r e a l i t y #> .
                                                                                                                  CONSTRUCT {
                                      clause of a SPARQL CONSTRUCT query - we explain how rules                         : role a ? t .
                                      are applied in the following subsection. Once every commu-                      ? user social −r e a l i t y : count as                  : role .
                                                                                                                        : context a social − r e a l i t y :C .
                                      nity user has been labelled with a role we can then derive the                    : role social −r e a l i t y : context                 : context .
                                      community’s composition by the percentage of users that each                    ? 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
                                      role covers. The process of deriving the composition of a com-              } WHERE {
                                      munity can be repeated over time to detect changes in how                       BIND ( oubo : f n g e t R o l e T y p e ( ? u s e r , ? temp , ? forum ) AS ? t y p e ) .
                                                                                                                      BIND ( smf : b u i l d U R I ( ” oubo : R o l e { ? t y p e } ” ) AS ? t )
                                      the community evolves. In the analysis section (section 6) we               }
                                      demonstrate how the role composition of a community can be
            !   For most communities we can accurately predictreturninginformation describing the user is thenon role
                                                                     healthinstance of oubo:UserImpact for looked
                                                              The behaviour       changes based ?user
                                      used to detect behavioural differences between disparate forums
                                                           up - i.e.         an
                                      and predict changes in a community’s activity.
                compositions – i.e. we can forecast changesat a given time point and for a given location - and each of the
                                   4.4. Applying Semantic Rules                                                  rules are applied over the behaviour features until one matches.
                        Churn Rate    As we mentioned above, our rules used to infer the role of
                                                                 User Count                                     Seedsrule is defined as an instance of oubo:RoleClassifier
                                                                                                                 Each / Non−seeds Prop                          Clustering Coefficient
                                   individual community users are encoded using SPIN functions.                  and is associated with a set of features as shown in Fig. 4. Each
      1.0




                                                       1.0




                                                                                                      1.0




                                                                                                                                                                                   1.0
                                   Other alternatives were considered, such as SWRL13 and RIF.14                 feature has a minimum and maximum value which specify the
                                   Several discussions can be found15 about the characteristics,                 range of feature values a user should have for this feature in
      0.8




                                                       0.8




                                                                                                      0.8




                                                                                                                                                                                   0.8
                                   differences and advantages of each of these rule representation                order to be assigned to this role. We use the skeleton rule of the
                                   languages. The goal of RIF is to create an interchange format                 role to provide the rule’s syntax and then replace the levels with
                                   for use between rules engines. As such, unlike SPIN, RIF is                   the necessary bounds produced by our binning procedure.
      0.6




                                                       0.6




                                                                                                      0.6




                                                                                                                                                                                   0.6
TPR




                                                 TPR




                                                                                                TPR




                                                                                                                                                                           TPR
                                   not specifically or particularly aligned with RDF. More impor-                    The ?type variable returns the role label for the user and
                                   tantly, SPIN is based on SPARQL, which makes it a more ex-                    the second function (smf:buildURI("oubo:Role{?type}"))
      0.4




                                                       0.4




                                                                                                      0.4




                                                                                                                                                                                   0.4
                                   pressive language than SWRL or RIF.16 Another advantage of                    constructs a Uniform Resource Identifier (URI) for the given
                                                                                                                 role which is then bound to ?t using the SPARQL 1.1 function
      0.2




                                                       0.2




                                                                                                      0.2




                                                                                                                                                                                   0.2
                                        12 http://spinrdf.org/spin.html
                                        13 http://www.w3.org/Submission/SWRL/
                                                                                                                 BIND. This returns the URI of the role that should be assigned
                                        14 http://www.w3.org/TR/rif-core/                                        to the user (?user).
      0.0




                                                       0.0




                                                                                                      0.0




                                                                                                                                                                                   0.0
                                        15 http://spinrdf.org/faq.html,http://topquadrantblog.
            0.0   0.2    0.4   0.6   0.8 1.0             0.0 0.2 0.4 0.6 0.8 1.0
                                       blogspot.co.uk/2011/06/comparing-spin-with-rif.html                  0.0       0.2       0.4       0.6        0.8       1.0                       0.0      0.2        0.4       0.6          0.8   1.0
      35                                16 http://www.w3.org/2005/rules/wiki/RIF_FAQ                                 17 http://www.topquadrant.com/products/SPIN.html
                           FPR                                          FPR                                                         FPR                                                                         FPR
                                                                                                            8
CONCLUSIONS


36
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




37
Matthew Rowe
     http://www.matthew-rowe.com
     http://people.open.ac.uk/rowe
     @mattroweshow


     QUESTIONS?


38

Tutorial: Social Semantics

  • 1.
    Tutorial: Social Semantics DrMatthew Rowe, Knowledge Media Institute Tutorial: Social Semantics, Wed 23/05/12 14:00-15:00
  • 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 2
  • 3.
  • 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 4
  • 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) 5
  • 6.
  • 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? 7
  • 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 8
  • 9.
    Ta Da! TheSocial Semantic Web http://newtechpost.com/2011/09/09/what-is-the-social-semantic-web-and-why-do-we-need-it 9
  • 10.
    The Social SemanticWeb !   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! 10
  • 11.
  • 12.
    The Social SemanticWeb Stack Behaviour Requires OUBO Drupal found_in found_in Semantic CommonTag MediaWiki SIOC Collaborative Online MOAT Environments Communities Folksonomies contain contain Schema.org describe composed_of Schema.org composed_of Microformats OPO Social SemSNA Content Networks SIOC FOAF published_by contain Schema.org Microformats People FOAF 12
  • 13.
    People / SocialNetworks: 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! 13
  • 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 14
  • 15.
    People / SocialNetworks: 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>! 15
  • 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 16
  • 17.
    Content / OnlineCommunities: 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 17
  • 18.
  • 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 19
  • 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 20
  • 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 21
  • 22.
    The Social SemanticWeb Stack - Recap Behaviour Requires OUBO Drupal found_in found_in Semantic CommonTag MediaWiki SIOC Collaborative Online MOAT Environments Communities Folksonomies contain contain Schema.org describe composed_of Schema.org composed_of Microformats OPO Social SemSNA Content Networks SIOC FOAF published_by contain Schema.org Microformats People FOAF 22
  • 23.
  • 24.
    Collaborative Environments: SemanticWikis !   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 24
  • 25.
    Semantic CMS: Drupal7 & 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 25
  • 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' />! 26
  • 27.
  • 28.
    Exporting Social SemanticData !   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 28
  • 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 … 29
  • 30.
    Disambiguating Identity WebReferences !   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: 30
  • 31.
    Disambiguating Identity WebReferences (II) !   Graph traversals and clustering: 31
  • 32.
    Disambiguating Identity WebReferences (III) !   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 32
  • 33.
    Twitcident: Semantics andTwitter !   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 33
  • 34.
    Temporal Categorisation ofPOIs !   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 34
  • 35.
    The third stageof our approach then compiles the rule base not across rules engines, but across RDF stores. SPIN rules from the Skeleton Rule Base. The Skeleton Rule Base contains can be directly executed on the data stores and no intermediate a single rule for each role that is to be detected in the commu- engines with communication overhead need to be introduced. nity. The antecedent of each rule contains a mapping between Finally, full support for SPIN is provided by TopBraid, includ- a feature and the level that that feature should be: ing the TopBraid composer editor, templates,etc.17 Role Analysis in Online Communities popularity=low, initiation=high -> roleA The Skeleton Rule Base is platform-dependent and is set ac- 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: cording to the analysis that is to be performed - in the following oubo:fn getRoleType(?user,?temp,?forum) and section we describe the process of building the Skeleton Rule smf:buildURI("oubo:Role{?type}"). The former function !   Community hosts need to know how their community is functioning and how it Base and how the feature-to-level mappings are initially de- takes as parameters the user whose role is to be inferred - rived. The rules are constructed from the Skeleton Rule Base will evolve and the bins derived for each feature such that level boundaries designated by ?user, the time period over which the user’s behaviour is to be assessed - given by ?temp - and the location are set within the rule: !   Derive thepopularity<0.5, initiation>0.4 a community and correlate with its health role composition of -> roleA in which the user’s behaviour to be assessed and role inferred - given by ?forum. The final stage of the approach is to apply the rules to the PREFIX oubo : < h t t p : / / p u r l . o r g / n e t / oubo / 0 . 3 > . PREFIX s i o c : < h t t p : / / r d f s . o r g / s i o c / ns > . community users and infer each user’s role. Rules are encoded PREFIX smf : < h t t p : / / t o p b r a i d . o r g / s p a r q l m o t i o n f u n c t i o n s #> . using SPIN12 functions that are triggered within the WHERE PREFIX s o c i a l − r e a l i t y : < h t t p : / / p u r l . o r g / n e t / s o c i a l − r e a l i t y #> . CONSTRUCT { clause of a SPARQL CONSTRUCT query - we explain how rules : role a ? t . are applied in the following subsection. Once every commu- ? user social −r e a l i t y : count as : role . : context a social − r e a l i t y :C . nity user has been labelled with a role we can then derive the : role social −r e a l i t y : context : context . community’s composition by the percentage of users that each ? 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 role covers. The process of deriving the composition of a com- } WHERE { munity can be repeated over time to detect changes in how BIND ( oubo : f n g e t R o l e T y p e ( ? u s e r , ? temp , ? forum ) AS ? t y p e ) . BIND ( smf : b u i l d U R I ( ” oubo : R o l e { ? t y p e } ” ) AS ? t ) the community evolves. In the analysis section (section 6) we } demonstrate how the role composition of a community can be !   For most communities we can accurately predictreturninginformation describing the user is thenon role healthinstance of oubo:UserImpact for looked The behaviour changes based ?user used to detect behavioural differences between disparate forums up - i.e. an and predict changes in a community’s activity. compositions – i.e. we can forecast changesat a given time point and for a given location - and each of the 4.4. Applying Semantic Rules rules are applied over the behaviour features until one matches. Churn Rate As we mentioned above, our rules used to infer the role of User Count Seedsrule is defined as an instance of oubo:RoleClassifier Each / Non−seeds Prop Clustering Coefficient individual community users are encoded using SPIN functions. and is associated with a set of features as shown in Fig. 4. Each 1.0 1.0 1.0 1.0 Other alternatives were considered, such as SWRL13 and RIF.14 feature has a minimum and maximum value which specify the Several discussions can be found15 about the characteristics, range of feature values a user should have for this feature in 0.8 0.8 0.8 0.8 differences and advantages of each of these rule representation order to be assigned to this role. We use the skeleton rule of the languages. The goal of RIF is to create an interchange format role to provide the rule’s syntax and then replace the levels with for use between rules engines. As such, unlike SPIN, RIF is the necessary bounds produced by our binning procedure. 0.6 0.6 0.6 0.6 TPR TPR TPR TPR not specifically or particularly aligned with RDF. More impor- The ?type variable returns the role label for the user and tantly, SPIN is based on SPARQL, which makes it a more ex- the second function (smf:buildURI("oubo:Role{?type}")) 0.4 0.4 0.4 0.4 pressive language than SWRL or RIF.16 Another advantage of constructs a Uniform Resource Identifier (URI) for the given role which is then bound to ?t using the SPARQL 1.1 function 0.2 0.2 0.2 0.2 12 http://spinrdf.org/spin.html 13 http://www.w3.org/Submission/SWRL/ BIND. This returns the URI of the role that should be assigned 14 http://www.w3.org/TR/rif-core/ to the user (?user). 0.0 0.0 0.0 0.0 15 http://spinrdf.org/faq.html,http://topquadrantblog. 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 blogspot.co.uk/2011/06/comparing-spin-with-rif.html 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 35 16 http://www.w3.org/2005/rules/wiki/RIF_FAQ 17 http://www.topquadrant.com/products/SPIN.html FPR FPR FPR FPR 8
  • 36.
  • 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 37
  • 38.
    Matthew Rowe http://www.matthew-rowe.com http://people.open.ac.uk/rowe @mattroweshow QUESTIONS? 38