ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

38
Tutorial: Social Semantics, Wed 23/05/12 14:00-15:00 Dr Matthew Rowe, Knowledge Media Institute Tutorial: Social Semantics

Transcript of ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

Page 1: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

Tutorial: Social Semantics, Wed 23/05/12 14:00-15:00

Dr Matthew Rowe, Knowledge Media Institute Tutorial: Social Semantics

Page 2: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: 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

Page 3: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

3

SOCIAL SEMANTICS, SO WHAT?

Page 4: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 5: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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)

Page 6: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

6

Spoilt for choice

Page 7: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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?

Page 8: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 9: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 10: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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!

Page 11: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

11

REPRESENTING SOCIAL DATA SEMANTICALLY

Page 12: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 13: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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!

Page 14: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 15: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 16: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 17: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 18: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

18

Combining FOAF + SIOC

Page 19: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 20: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 21: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social 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

Page 22: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 23: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

23

APPLICATIONS OF SOCIAL SEMANTICS

Page 24: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: 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

Page 25: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 26: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 27: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

27

Facebook Open Graph

Page 28: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 29: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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 …

Page 30: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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:

Page 31: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

31

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

Page 32: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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)

Page 33: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 34: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 35: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 36: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

36

CONCLUSIONS

Page 37: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

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

Page 38: ESWC SS 2012 - Wednesday Tutorial Matthew Rowe: Social Semantics

38

QUESTIONS?

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