Making Sense of Location-based Microposts using Stream Reasoning

10

Click here to load reader

Transcript of Making Sense of Location-based Microposts using Stream Reasoning

Page 1: Making Sense of Location-based Microposts using Stream Reasoning

#MSM Making Sense of Microposts Workshop at ESWC 2011 – Heraklion, Crete, 30th May 2011

Making Sense of Location-based Micro-posts

using Stream Reasoning

Irene Celino, Daniele Dell’Aglio, Emanuele Della Valle,

Yi Huang, Tony Lee, Stanley Park and Volker Tresp

(CEFRIEL – Politecnico di Milano – Saltlux – SIEMENS)

Page 2: Making Sense of Location-based Microposts using Stream Reasoning

BOTTARI Mobile Application

� Augmented Reality Application for Android� to show POI information with their respective reputation� to retrieve information on the basis of the geo-social context

� where can I find people nearby sharing my preferences? � who shall I ask for an opinion on this restaurant?

#MSM Workshop at ESWC 20112Making Sense of Location-based Micro-posts using Stream Reasoning

Page 3: Making Sense of Location-based Microposts using Stream Reasoning
Page 4: Making Sense of Location-based Microposts using Stream Reasoning

Gathering microposts data

� Crawling microposts� User ranking model for adaptive crawling

� using users’ influence (ranking) to find appropriate and influential microposts in real-time

� Factors to compute ranking:� Micropost frequencies� # of mentioned or retweeted microposts

� Degree of interaction with followers and followings

� # of followers

#MSM Workshop at ESWC 20114Making Sense of Location-based Micro-posts using Stream Reasoning

Page 5: Making Sense of Location-based Microposts using Stream Reasoning

Gathering microposts data

� For now we’ve been crawling around� 356,000,000 messages (5,300,000 messages / day)� 1,100,000 users (14,000 users / day)

#MSM Workshop at ESWC 20115Making Sense of Location-based Micro-posts using Stream Reasoning

Page 6: Making Sense of Location-based Microposts using Stream Reasoning

Sentiment Analysis – high-level view

� Sentiment analysis of microposts� Compute "quantitative" ratings for each POI� When possible, different ratings for different features of the POI

(e.g., in case of restaurants: taste, service, price, …)

#MSM Workshop at ESWC 20116Making Sense of Location-based Micro-posts using Stream Reasoning

Microposts about a specific Point of Interest

Sentiment analysisalgorithm

Computed ratings(e.g. for restaurants)

taste 7.8/10

service 4.2/10

price 6.0/10

Page 7: Making Sense of Location-based Microposts using Stream Reasoning

Sentiment Analysis – how it works

Micropost message

MorphologicallyAnalyzable?

Rule based Analysis

Auto generated rules

Learneddocuments

SVMs

Syllable Kernel

Reputations for each feature

Yes No

#MSM Workshop at ESWC 20117Making Sense of Location-based Micro-posts using Stream Reasoning

� Precision tests:� Auto-generated

rules ≈ 70%� Manually-coded

rules ≈ 90%� Syllable kernel ≈ 50~60%

� Our target > 85%

Page 8: Making Sense of Location-based Microposts using Stream Reasoning

Ontology modelling

#MSM Workshop at ESWC 20118Making Sense of Location-based Micro-posts using Stream Reasoning

geo:SpatialThing

sioc:UserAccountsioc:id(xsd:string)

geo:NamedPlace

twd:Tweettwd:messageID(xsd:string)

twd:messageTimeStamp(xsd:string)

sioc:creator_of

twd:talksAbout

twd:reply

twd:retweet

sioc:has_creator

twd:talksAboutNeutrally

twd:talksAboutPositively

twd:followertwd:following

twd:post

sioc:Postsioc:content(xsd:string)

twd:TwitterUsertwd:screenName(xsd:string)

twd:discuss

twd:talksAboutNegatively

Page 9: Making Sense of Location-based Microposts using Stream Reasoning

Querying Microposts Dynamics with

Stream Reasoning and SPARQL with probabilities

% find people similar to me which are nearby in an interesting POI

?poi1 ?user (f:similarWithProbability(ex:Alice, ?user) AS ?p)% the user I'm looking for should be "similar" to me

STREAM <http://bottari.kr/streamOftweets> [1h STEP 10m]% from the stream of microposts of last 10 minutes

WHERE {?user twd:post { twd:talksPositivelyAbout ?poi1 } .

% target user tweeted positively about a POI?poi1 geo:lat ?lat1; geo:long ?long1 ; skos:subject ?category .

% this POI has a position and categoryex:Alice twd:post { twd:talksAbout ?poi2 } .

% current user tweeted about another POI (thus she's close to it)?poi2 geo:lat ?lat2; geo:long ?long2 ; skos:subject ?category .

% the other POI is of the same categoryFILTER( (?lat1-?lat2)<"0.1"^^xsd:float &&

(?lat1-?lat2)>"-0.1"^^xsd:float && (?long1-?long2)<"0.1"^^xsd:float &&(?long1-?long2)>"-0.1"^^xsd:float ) % the target POI is close to the current user

}ORDER BY DESC(?p)LIMIT 10

#MSM Workshop at ESWC 20119Making Sense of Location-based Micro-posts using Stream Reasoning

SELECT

FROM

Page 10: Making Sense of Location-based Microposts using Stream Reasoning

Thanks for your attention! Any question?

Making Sense of Location-based Micro-posts using Stream Reasoning

Paper Authors: Irene Celino, Daniele Dell'Aglio, Emanuele Della Valle, Yi Huang, Tony Lee, Stanley Park and Volker Tresp

Contact: Irene Celino – Semantic Web Practice

CEFRIEL – ICT Institute, Politecnico di Milanoemail: [email protected] – web: http://swa.cefriel.it

personal website: http://iricelino.org

phone: +39-02-23954266 – fax: +39-02-23954466

slides available at: http://www.slideshare.net/iricelino

#MSM Making Sense of Microposts Workshop at ESWC 2011 – Heraklion, Crete, 30th May 2011