ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics


Published on

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

  1. 1. Tutorial: Social Semantics Dr Matthew Rowe, Knowledge Media Institute Tutorial: Social Semantics, Wed 23/05/12 14:00-15:00
  2. 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
  4. 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. 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. 6. Spoilt for choice 6
  7. 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. 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: ! ! ! ! ! ! 8             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. 9. Ta Da! The Social Semantic Web 9
  10. 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! 10
  12. 12. The Social Semantic Web Stack Requires Behaviour OUBO Drupal CommonTag MOAT Folksonomies found_in Semantic MediaWiki Collaborative Environments OPO composed_of published_by contain Microformats FOAF SIOC People composed_of Social Networks Content SIOC 12 Online Communities contain contain describe found_in Microformats SemSNA FOAF
  13. 13. People / Social Networks: FOAF !   Friend of a Friend Ontology (FOAF) ! !   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 <>! !   _:Winston_Smith foaf:homepage <>! !   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. 14. People / Content / Social Networks: !   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. 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"></span> ! ! <span class="email"></span>! </span>! !   XFN (XHTML Friends Network): defines links/relations between people !   Semantics of the relation is in the ‘rel’ attribute <a <a <a <a 15 href="" rel=”me”>My homepage</a> ! href="" rel=”friend”>Tom Parsons</a> ! href="" rel=”met acquaintance">Mr Charrington</a>! href="" rel=”sweetheart">Julia</a>!
  16. 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 ! 16
  17. 17. Content / Online Communities: SIOC !   Semantically Interlinked Online Communities (SIOC) 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. 18. Combining FOAF + SIOC 18
  19. 19. Content: OPO !   Online Presence Ontology (OPO) ! !   Models the online presence of users !   Enables cross platform representation !   i.e. status updates 19
  20. 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: !   Abundance of Entity Recognisers available: !   Comparative Evaluation: !   Rowe & Stankovic. Aligning Tweets with Events: Automation via Semantics. Semantic Web Journal. 2011. !  20
  21. 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) ! !   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. 22. The Social Semantic Web Stack - Recap Requires Behaviour OUBO Drupal CommonTag MOAT Folksonomies found_in Semantic MediaWiki Collaborative Environments OPO composed_of published_by contain Microformats FOAF SIOC People composed_of Social Networks Content SIOC 22 Online Communities contain contain describe found_in Microformats SemSNA FOAF
  24. 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 24
  25. 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 ! Module !   Annotate content with semantics !   Enables Google’s Rich Snippets to be placed in your page! ! 25
  26. 26. Facebook Open Graph !   Designed to link profile pages into Facebook’s social graph !   Profile pages: movies, products, people, events, etc !   Checkout ‘Object Types’: !   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=""! xmlns:og="”>! <head>! <title>The Rock (1996)</title> ! <title>Dead Snow (2009) - IMDb</title>! <meta property="og:url" content="" /> ! <meta property='og:image' content='…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. 27. Facebook Open Graph 27
  28. 28. Exporting Social Semantic Data !   Facebook !   Exports your social graph as RDF from Facebook containing FOAF and Geo data ! !   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. 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. 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: 30
  31. 31. Disambiguating Identity Web References (II) !   Graph traversals and clustering: 31
  32. 32. 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? ! !   Rowe and Ciravegna. Disambiguating Identity Web References using Web 2.0 Data and Semantics. Journal of Web Semantics. 2010 32
  33. 33. Twitcident: Semantics and Twitter !   Allows for exploration, search and analysis of event incidents on Twitter ! !   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. 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 34
  35. 35. 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, including 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. 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 community. The antecedent of each rule contains a mapping between a feature and the level that that feature should be: Role Analysis in Online Communities popularity=low, initiation=high -> roleA The Skeleton Rule Base is platform-dependent and is set according to the analysis that is to be performed - in the following section we describe the process of building the Skeleton Rule Base and how the feature-to-level mappings are initially derived. The rules are constructed from the Skeleton Rule Base and the bins derived for each feature such that level boundaries are set within the rule: !   Community hosts need to know how their community is functioning and how it will evolve !   Derive thepopularity<0.5, initiation>0.4 a community and correlate with its health role composition of -> roleA 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 > . 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 #> . 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 { : role a ? t . ? user social −r e a l i t y : count as : role . : context a social − r e a l i t y :C . : role social −r e a l i t y : context : context . ? 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 ( ? 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 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 WHERE clause of a SPARQL CONSTRUCT query - we explain how rules are applied in the following subsection. Once every community 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 community 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. The behaviour !   For most communities we can accurately predictreturninginformation describing the user is thenon role healthinstance of oubo:UserImpact for looked changes based ?user up - i.e. an compositions – i.e. we can forecast changesat a given time point and for a given location - and each of the 0.0 35 0.2 0.4 0.6 FPR 1.0 0.6 0.2 0.4 TPR 0.4 0.2 0.0 15,http://topquadrantblog. 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 0.8 1.0 0.0 14 0.0 TPR 13 0.6 0.8 1.0 0.2 0.4 TPR 0.6 0.8 1.0 0.8 0.6 0.4 0.2 12 0.0 TPR rules are applied over the behaviour features until one matches. Each / Non−seeds Prop Seedsrule is defined as an instance of oubo:RoleClassifier Clustering Coefficient and 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). 4.4. Applying Semantic Rules As we mentioned above, our rules used to infer the role of Churn Rate User Count 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 importantly, SPIN is based on SPARQL, which makes it a more expressive language than SWRL or RIF.16 Another advantage of 0.0 16 0.2 0.4 0.6 0.8 1.0 0.0 0.2 17 FPR FPR 8 0.4 0.6 FPR 0.8 1.0
  36. 36. CONCLUSIONS 36
  37. 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. 38. Matthew Rowe @mattroweshow QUESTIONS? 38