=Paper=
{{Paper
|id=None
|storemode=property
|title=Making Sense of Location-based Micro-posts Using Stream Reasoning
|pdfUrl=https://ceur-ws.org/Vol-718/paper_05.pdf
|volume=Vol-718
|dblpUrl=https://dblp.org/rec/conf/msm/CelinoDVHLPT11
}}
==Making Sense of Location-based Micro-posts Using Stream Reasoning==
Making Sense of Location-based Micro-posts
Using Stream Reasoning
Irene Celino1 , Daniele Dell’Aglio1 , Emanuele Della Valle2,1 , Yi Huang3 ,
Tony Lee4 , Stanley Park4 , and Volker Tresp3
1
CEFRIEL – ICT Institute, Politecnico of Milano, Milano, Italy
2
Dip. di Elettronica e dell’Informazione – Politecnico di Milano, Milano, Italy
3
SIEMENS AG, Corporate Technology, Muenchen, Germany
4
Saltlux, Seoul, Korea
Abstract. Consider an urban environment and think to its semi-public
realms (e.g., shops, bars, visitors attractions, means of transportation).
Who is the maven of a district? How fast and how broad can such maven
influence the opinions of others? These are just few of the questions
BOTTARI (our Location-based Social Media Analysis mobile app) is
getting ready to answer. In this position paper, we recap our investigation
on deductive and inductive stream reasoning for social media analysis,
and we show how the results of this research form the underpinning of
BOTTARI.
1 Introduction
In the last few years, we have been witnessing the increasing popularity and
success of Location-based Services (LBS), especially of those with a Social Net-
working flavour. Twitter, Facebook Places, foursquare, Gowalla are only a few
examples of applications; those services bring a wide range on useful information
about tourist attractions, local businesses and points of interests (POIs) in the
physical world.
Although these services are enormously popular, users still suffer from a
number of shortcomings. The overwhelming information flow coming from those
channels often confuses users; it is also very difficult to distinguish between a
fair personal opinion and a malicious or opportunistic advice. This might be the
reason why users primarily link to people they know personally since there is no
clear way find out those who are trustable in an on-line social network.
In this paper, we present our collaborative effort to the design and develop-
ment of the BOTTARI application, a Location-based Service for mobile users
that exploit Social Media Analysis techniques to identify the “mavens” of a spe-
cific geographical area, who can be considered as experts of the POIs in this
area. BOTTARI was conceived by Saltlux, a Korean Knowledge Communica-
tion Company. The application is still under development and it will be made
available to Korean users in the Seoul area.
BOTTARI exploits hybrid Stream Reasoning both on heterogeneous social
network data [1] and geo-location data. The hybrid reasoning engine combines
deductive and inductive techniques. Since the input data are huge and change in
real-time, the reasoning engine works by processing streaming data. The hybrid
reasoning engine is developed on top of the LarKC platform [2], a pluggable
architecture to build applications with Semantic Web technologies.
The remainder of the paper is organised as follows. Section 2 explains the
concept of stream reasoning and delineates the system architecture. Section 3
describes the BOTTARI app. Section 4 details some user questions in terms of
queries to our stream reasoner. Finally, Section 5 concludes the paper.
13
· #MSM2011 · 1st Workshop on Making Sense of Microposts ·
2 Irene Celino et al.
2 System Architecture
Continuous processing of information flows (i.e. data streams) has widely been
investigated in the database community. [3]. In contrast, continuous processing of
data streams together with rich background knowledge requires semantic reason-
ers, but, so far, semantic technologies are still focusing on rather static data. We
strongly believe that there is a need to close this gap between existing solutions
for belief update and the actual need of supporting decision making based on
data streams and rich background knowledge. We named this little explored, yet
high-impact research area Stream Reasoning [4]. The foundation for Stream
Reasoning has been investigated by introducing technologies for wrapping and
querying streams in the RDF data format (e.g., using C-SPARQL [5]) and by
supporting simple forms of reasoning [6] or query rewriting [7].
We are developing the Stream Reasoning vision on top of LarKC [8]. The
LarKC platform is aimed to reason on massive heterogeneous information such
as social media data. The platform consists of a framework to build workflows,
i.e. sequences of connected components (plug-ins) able to consume and process
data. Each plug-in exploits techniques and heuristics from diverse areas such as
databases, machine learning and the Semantic Web.
Fig. 1. Architecture of our Stream Reasoner
We built our Stream Reasoning system by embedding a deductive reasoner and
an inductive reasoner within the LarKC architecture (see Figure 1). First, BOT-
TARI pre-processes the micro-posts by extracting information5 whether a micro-
post expresses a positive or a negative feeling of its author about a certain POI.
After BOTTARI data arrives to the stream reasoner as set of data streams,
a selection plug-in extracts the relevant data in each input stream in form of
windows. A second plug-in abstracts the window content from fine grain data
streams into aggregated events and produces RDF streams. Then, a deductive
reasoner plug-in is able to register C-SPARQL queries, whose results can be of
immediate use (cf. Section 4) or can be processed by other two sub-workflows.
Each sub-workflow is constituted by an abstracter and an inductive reasoner,
which uses an extended version of SPARQL that supports probabilities [9].
3 The BOTTARI mobile app
The BOTTARI mobile app is a location-based service that exploits the social
context to provide relevant contents to the user in a specific geographic location.
5
This technology is a Saltlux trade secret.
14
· #MSM2011 · 1st Workshop on Making Sense of Microposts ·
Making Sense of Location-based Micro-posts Using Stream Reasoning 3
Fig. 2. Some screenshots of the BOTTARI Android application
The purpose of the BOTTARI service is to provide recommendations on local
context information to users through an augmented reality interface. BOTTARI
gives detailed information on local POIs, including trust or reputation informa-
tion. In Figure 2 , we provide some sample screenshots on how the BOTTARI
mobile application will look like once completed.
The input data for the BOTTARI service come from public social networks
and location based services (Twitter, local blogs and Korean news), are converted
in RDF streams and are then processed and analysed by the system described
in Section 2. The RDF-ized data are modelled with respect to the ontology
represented in Figure 3, which is an extension to the SIOC vocabulary [?]. Our
model takes into account the specific relations of Twitter (followers/following,
reply/retweet); it adds the geographical perspective by modelling the POIs; it
includes the “reputation” information by means of positive/negative reviews.
15
· #MSM2011 · 1st Workshop on Making Sense of Microposts ·
4 Irene Celino et al.
Fig. 3. Ontology modelling of BOTTARI data
4 Computing Answers to User Questions
The hybrid Stream Reasoning solutions we are developing is able to answer
questions like: Who are the opinion makers (i.e., the users who are likely to
influence the behaviour of their followers with regard to a certain POI)? How
fast and how wide are opinions spreading? Who shall I follow to be informed
about a given category of POIs in this neighbourhood?
In the rest of the section we show how to issue the three queries above using
C-SPARQL and SPARQL with probabilities.
Who are the opinion makers?
Lines 1 and 3 of the following listing tell the C-SPARQL engine to register
the continuous query on the stream of micro-posts generated by BOTTARI
considering a sliding window of 30 minutes that slides every 5 minutes. Line 2
tells the engine that it should generate an RDF stream as output reporting who
are the opinion makers for a certain POI and if they are rating it positively or
negatively.
1. REGISTER STREAM OpinionMakers COMPUTED EVERY 5m AS
2. CONSTRUCT { ?opinionMaker a twd:opinionMaker ; twd:discuss [ ?opinion ?poi ] . }
3. FROM STREAM [RANGE 30m STEP 5m]
4. WHERE {
5. ?opinionMaker a twd:TwitterUser ;
6. twd:posts [ ?opinion ?poi ] .
7. ?follower sioc:follows ?opinionMaker;
8. twd:posts [ ?opinion ?poi ] .
9. FILTER ( cs:timestamp(?follower) > cs:timestamp(?opinionMaker)
10. && ?opinion != twd:talksAbout )
11. }
12. HAVING ( COUNT(DISTINCT ?follower) > 10 )
The basic triple pattern (BTP) at lines 5 and 6 matches micro-posts of the
potential opinion makers with a POI. The variable opinion can match one of
the properties talksAbout, talksAboutPositively, or talksAboutNegative-
ly. The BTP at lines 7–8 looks up the followers of the opinion makers. The
16
· #MSM2011 · 1st Workshop on Making Sense of Microposts ·
Making Sense of Location-based Micro-posts Using Stream Reasoning 5
FILTER clause at line 9 checks whether the micro-posts of the followers, which
talk about the same POI, occurs after those from the opinion makers. At line
10 the query filters out actions of type twd:talksAbout and concentrates on
micro-posts clearly discussing a POI in a positive or negative way. Finally, at
line 12 the clause HAVING promotes the true opinion makers which have at
least ten followers who expressed the same opinion about the POI after them.
How fast and wide opinions are getting spread?
Using the RDF stream computed by the previous query, the query in the
following listing informs about how wide the micro-posts of an opinion maker
are getting spread in half an hour. To do so, it considers the reply and re-tweet
relationships among tweets (i.e., tweets linked by the discuss property in BOT-
TARI data model). Being discuss a transitive property, the C-SPARQL engine
uses the materialization technique presented in [6] to incrementally compute the
transitive closure of discuss.
1. REGISTER STREAM OpinionSpreading COMPUTED EVERY 30s AS
2. SELECT ?user ?opinionMakerTweet count(?aPositiveTweet) count(?aNegativeTweet)
3. FROM STREAM [RANGE 30m STEP 30s]
4. FROM STREAM 0.8 && ?prob < 1 )
9. } ORDER BY ?prob
17
· #MSM2011 · 1st Workshop on Making Sense of Microposts ·
6 Irene Celino et al.
The BGP at lines 4–6 matches the opinion makers that have been recently
expressing positive opinions about attractions for kids. The triple patter at line
7 matches BOTTARI users that Giulia is following. Note that the following
relationship may have not been asserted yet, the construct WITH PROB extends
SPARQL by letting it query an inducted model. The variable ?prob assumes the
value 1 for the user she follows already and assumes the estimated probabilities
between 0.8 and 1 for users she may be recommended to follow (cf. line 8). The
ORDER BY clause is used to return users sorted by decreasing probability. The
query answer includes pairs of users and predicted likelihood (e.g. :Alice with
probability 0.99, :Bob with probability 0.87).
5 Conclusions and Future Works
In this paper we presented BOTTARI, a location-based mobile application which
is able to supply contents and personalized suggestions to the users. We ex-
plained the processing of new recommendations, based on the elaboration of
data streams generated by microblogging platforms like Twitter and foursquare.
The computation is defined as a workflow combining Semantic Web and machine
learning techniques and it is executed on top of the LarKC platform.
Our future work will focus on the development of the first stable version of
the BOTTARI application and its release as Android app. The initial release
will focus on Korea and will be evaluated by following a user-centered approach:
a set of users will try out the application, supplying us feedbacks via a survey
with questions about the system and its accuracy in providing suggestions.
This work was partially supported by the EU project LarKC (FP7-215535).
References
1. Barbieri, D.F., Braga, D., Ceri, S., Della Valle, E., Huang, Y., Tresp, V., Rettinger,
A., Wermser, H.: Deductive and Inductive Stream Reasoning for Semantic Social
Media Analytics. IEEE Intelligent Systems 25(6) (2010) 32–41
2. Cheptsov, A., et al.: Large Knowledge Collider. A Service-oriented Platform for
Large-scale Semantic Reasoning. In: Proceedings of WIMS 2011. (2011)
3. Garofalakis, M., Gehrke, J., Rastogi, R.: Data Stream Management: Processing
High-Speed Data Streams. Springer-Verlag New York, Inc. (2007)
4. Della Valle, E., Ceri, S., van Harmelen, F., Fensel, D.: It’s a Streaming World!
Reasoning upon Rapidly Changing Information. IEEE Intelligent Systems 24(6)
(2009) 83–89
5. Barbieri, D.F., Braga, D., Ceri, S., Della Valle, E., Grossniklaus, M.: C-SPARQL:
a Continuous Query Language for RDF Data Streams. Int. J. Semantic Computing
4(1) (2010) 3–25
6. Barbieri, D.F., Braga, D., Ceri, S., Della Valle, E., Grossniklaus, M.: Incremental
Reasoning on Streams and Rich Background Knowledge. In: Proc. of ESWC2010.
(2010)
7. Ren, Y., Pan, J.Z., Zhao, Y.: Towards Scalable Reasoning on Ontology Streams
via Syntactic Approximation. In: Proc. of IWOD2010. (2010)
8. Fensel, D., et al.: Towards LarKC: a Platform for Web-scale Reasoning. In: Proc.
of ICSC 2008. (2008)
9. Tresp, V., Huang, Y., Bundschus, M., Rettinger, A.: Materializing and querying
learned knowledge. In: Proc. of IRMLeS 2009. (2009)
10. Berrueta, D., et al.: SIOC Core Ontology Specification. W3C Member Submission,
W3C (2007)
18
· #MSM2011 · 1st Workshop on Making Sense of Microposts ·