39
A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

Embed Size (px)

Citation preview

Page 1: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

A Modular Data Infrastructure for

Location-Based Services

Shijun Yu, Stefano SpaccapietraEcole Polytechnique Fédérale de Lausanne

(EPFL)

Page 2: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

2

Next generation LBS: Knowledgeable Information Delivery

Current LBS: Space-awareness Nearest cash dispenser

Time-awareness Do not suggest visiting a market on days it is closed Omit out-of-town spots if the user has only half a day free

Context-awareness (contextualization) On rainy days, suggest a museum rather than a park

User-awareness (personalization) If user is on a business trip, suggest taking a taxi rather than a combination of public transports

Service-awareness (focus) do not promise information you do not have

Page 3: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

3

Personalization: info for you Selecting a subset of the objects of interest

Select nearby restaurants by taking into account your preferences for cuisine

Choosing specific information Adapt information on the temple to the level of detail that is appropriate to your knowledge of temple history and architecture

Personalizing predicates Define the meaning of “nearby” depending on your habits

User dislikes walking: nearby = less than 5’ walk User likes walking: nearby = less than 15’ walk User is driving: nearby = less than 10’ drive

Page 4: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

4

Contextualization: info for where you are in the situation you are When looking for transportation to join a meeting

consider traffic conditions to select subway/train or taxi/bus consider local cultural habits to determine the targeted arrival time

if in Switzerland, plan to arrive at the meeting slightly before its opening

if in Italy, plan to arrive at the meeting within half an hour from its opening

When looking for restaurants, on a rainy day ignore user preference for restaurants with outdoor garden

Make sure you know the rules: duration of a trip on surface road depends on traffic conditions when it is appropriate to join a meeting depends on local socio-cultural rules

outdoor activities normally require nice weather

Contextualization is a query refinement process

Page 5: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

5

An Architecture for knowledgeable LBS

External Ontologies

I want to know …I want to book …

LocationBased

Services

LocationBased

Services

Profiles

Web pages

Databases

XML &RDF files

Data Sources

Limited Universe of Discourse

User

LocalEnvironment

(contexts

Page 6: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

6

K-LBS Data Infrastructure

Serviceprofiles

Userprofiles

UserModule

ContextModule

ServiceModule

ModularCore Ontology

SpaceTime

mapping inter-modulelink

OntologicalResources

Context profiles Terminological

Resources e.g. Wordnet

Page 7: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

Context

Page 8: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

8

Context: Describes the current "situation" of the real world of interest

Context: where, when, who, why, what, how (Schilit et al., 1994)

Any information that may lead to modifying a user query given the current situation and is not specific to a user or to a service

Context is service-relevant and user-relevant

Low-level contexts: location, time, nearby objects, networking

configurations, orientation, environment (light, temperature, pollution, etc.)

High-level contexts: social context (e.g., social status of the event or

location)

What’s Context?

Page 9: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

9

A Skeleton for the Context Module

Context

Spatial

Environment

Temporal

Socio-cultural

Functional

Administrative

Landmarks

CommunicationNetwork

Device

basically, a composition hierarchy

Calendars

Landmarks

Academic

Business

Atmospheric

Traffic

Page 10: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

10

Example: Environmental Data

Environmental data for the current city

Date: 27.9.2007Weekday: ThursdayTime: 11h00

Weather: sunnyTemperature: +13 Celsius Humidity: 53%Weather forecast: good, warmingPollution level: mediumSnow: none

City traffic: fluid

Environmental data for the current user (in a room)

Date: 27.9.2007Time: 11h00

Temperature: +20 Celsius Humidity: 40%Light: shadowPollution level: mediumNoise level: medium

Page 11: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

11

Linking Context and Services How does the LBS know when traffic conditions are relevant? "relevance" link between Service and Context modules

a relevance link connects a service with the context elements on which the service "depends"

e.g. bus transportation services depend on traffic conditions (to compute durations), local events (to look for alternate routes if needed), and the day of the week (to refer to the appropriate schedule). "Depend" here means the services need this context information to provide contextualized answers.

availability of services may depend on what is the current day of the week (e.g. museums in France are closed on Tuesday). "Depend" here means there is a precondition for using the service. The precondition may be stated as a predicate on the current temporal context.

Page 12: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

12

Linking Context and User Modules User queries need to be contextualized and personalized.

Personal preferences may depend on context e.g. a preference for outdoor-sitting in restaurants is only relevant if the weather is currently fine=> materializes as a "relevance" link between the outdoor-sitting preference in the User Module and the nice weather status in the atmospheric data in the Context Module.

Analysis: inter-module relevance links are used either as a filter (to determine what has to be considered) or as an import means (to transfer knowledge so that the service process becomes knowledgeable)

Page 13: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

Users

Page 14: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

14

Personalization => User Profiling

Basically, a user profile holds a set of properties that characterize the user (e.g., age class, profession) or express user’s preferences and priorities (e.g., domains of interest, preferred cuisine style): <attribute,value> pairs

Highly context-dependent: one user = many contextual profiles

Currently, no standard format/content, no underlying theory

Example Profile 1 for Stefano:Activity: TouristProfession: {professor, employee, academic}Age: senior Gender: male Nationality: French, SwissIncome: comfortableInterest: art, culture, hiking, cinemaLanguages: French, English, ItalianFoodPreference: very good to goodCuisine: Japanese, Thai, Arabic

Example Profile 2 for Stefano:

Activity: ProfessionalProfession: {computer scientist, professor}Age: seniorInterest: databases, ontologies, semantic webLanguages: French, English, ItalianMemberships: ACM, IEEE, IFIP

Page 15: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

15

Using User Profiles To make queries more focused

To present retrieval results in user’s order of preference

Query reformulation examples

“where can I buy a souvenir?”

+ income: moderate

=> “give me a nearby department store which sells

souvenirs”

+ income: high=> “give me a nearby shop specializing in souvenirs”

Page 16: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

16

Richer User Profiles Beyond < attribute, value > pairs …..

An attribute may be multivalued An attribute may be structured (with embedded sub-properties)

E.g., interest [domain, level-of-expertise] An attribute may have a hierarchy of values (i.e., values at different levels of detail)

E.g.: Interest (music (rock, tango), movie (action-movie (karate-movie)))

Dependencies may exist between attributes: E.g., income hotel category

Rules stating what the attribute is useful for E.g., income has impact on things implying a payment (buy), but has no impact on preferences in things free or inexpensive

Interest

music movie

rock tango action-movie

karate-movie

Page 17: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

17

Properties in Profiles Ordered-value property

FavoriteCuisine = LIST(Japanese, Thai, Chinese)

Context-sensitive property FavoriteSport:

Season = Summer SET(hiking, cycling)Season = Winter SET(ski, yoga)

(Season is a concept in the temporal component of the Context Module)

Privacy-sensitive property creditCard = LIST(VISA, Master)

Privacy: Disclose(Amazon, Paypal), Undisclose(Ebay)

Page 18: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

18

A Skeleton for User Module

User

Census

Educational

Professional

Skills

Nationality

Birthdate

Gender

Interest DomainsDomain

Expertise

basically, a composition hierarchy

Domain

Fonction

Domain

Expertise

Domain

Degree

Preference

Page 19: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

19

The User Ontological Module User profiles are mapped to the User Module

The User Module describes an abstraction of user profiles

This abstraction provides directives (patterns) for query reformulation

The patterns are evaluated against the suitable profile of the querying user

User Module

User Profile 1

User Profile 2

User Profile 3

……….User Profile N

Page 20: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

Services

Page 21: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

21

Services from Multiple Data Sources

"Local" available sources e.g., for a tourist in Kyoto, Nara and Osaka tourism

information is also considered locally relevant, but not Tokyo information

Heterogeneity: Structured / unstructured, browsable / queriable

e.g., public local databases, local and generic Web services, Web pages

Diverse knowledge extraction strategies, but few extraction tools for space and time

Homogenization: describe each source as a set of services

Service profiles are mapped to (and abstracted by) the LBS ontological module about services

Page 22: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

22

A Skeleton for the Service Module

Bus

Train

Subway

Services

basically, anis-a hierarchy

Villas

Apartments

WinterSports

SummerSports

Rental

Facilities

Transport

Shows

RealEstateRental

SportEquipment

CarRental

Museums

Hotels

Gardens

Restaurants

Temples

Kyoto National Museum Chado Research center

Raku Museum

Service Profiles

Page 23: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

23

Conditional services

Lausanne city

Facility MuseumHistory Museum

Sports Museum

District

Path

Landmark

Block

Tourism Hotel

Transport means

Transporte.g. Ouchy

e.g. Quai de Belgique

e.g. Lausanne Cathedral

Stadium

Hospital

e.g. Olympic Museum

e.g. Ouchy PortTop 10 visited

e.g. Olympic Museum

A service may be available only in conjunction with other services, e.g. to obtain a visa you must first obtain an id document

=> pre & post conditions

A service may be available only for given persons to access a swimming pool at certain times you must have membership into the swimming club

A service may be available only in given contexts in Switzerland, shops are closed on August 1st a special bus to a nature park only runs in Summer

Page 24: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

24

Similar services

Lausanne city

Facility MuseumHistory Museum

Sports Museum

District

Path

Landmark

Block

Tourism Hotel

Transport means

Transporte.g. Ouchy

e.g. Quai de Belgique

e.g. Lausanne Cathedral

Stadium

Hospital

e.g. Olympic Museum

e.g. Ouchy PortTop 10 visited

e.g. Olympic Museum

A service may be almost equivalent to another service taking a bus from A to B taking a subway from A to B if one is not available, the other one may replace it

A service may be equivalent to another service but in a different timeframe the daily bus is replaced by a minibus after 10pm

A service may be equivalent to another service but at a different cost taking a bus from A to B and taking a taxi from A to B

Page 25: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

Queries

Page 26: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

26

Query Formulation Techniques

Natural Language Where in Kyoto tomorrow can I buy a Toshiba PC 12 inches? Easy to use if input audio channel is available Difficult to process

Complex Structured Language à la SQL For expert users only, not suited for LBS

Keywords driven Buy, laptop, PC, Toshiba, screen-size = 12” Relatively easy to use, but still needs complements Relatively easy to process

Menu driven (à la Ipod) Buy -> computer -> laptop -> brand -> Toshiba -> type -> PC -> screen -> 12”

Easy to use, easy to process

Page 27: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

27

Query Formulation with Tokens Must be simple, as few words as possible

Query: <What, Where, When, What Else> < “Toshiba 12” laptop, Kyoto, tomorrow, version=English >

Open vocabulary, avoids limiting the concept space. Entails the use of linguistic techniques, e.g. Tokenization:

cellphone => <cell, phone> hands-free_cellphone => <hands-free, cellphone>

Lemmatization: travel, traveling, traveled => travel jobs => job

Elimination: a, the, by, type of

Page 28: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

28

Query Formulation: Examples What:

A Chinese restaurant, a cash dispenser A place selling stamps A taxi Am I moving North?

Where: The nearest Chinese restaurant A pizza delivery service which could deliver a pizza at my

hotel A bus going downtown (from here, or from the Kyoto Hotel)

When: The nearest Chinese restaurant still serving lunch at 3pm A fine-arts exhibition open this afternoon

What else: additional user preferences: The nearest Chinese restaurant rated very good

Page 29: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

29

Understanding the What ==> linguistics + ontologies + terminology + context What: "Chinese restaurant"

English Grammar ---> Chinese: adjective, restaurant: noun Search for "restaurant" in the Service Module:

OK: If the concept is context-dependent, check what the current context is to identify the correct interpretation: Set the query as Q0: (x) SM.restaurant(x)

if no restaurant in the Service Module, search for synonyms in the terminology Search for "Chinese" within the description of restaurants

if Chinese appears as a value for enumerated attribute typeOfCuisine, add the predicate "typeOfCuisine = "Chinese"

Q1: (x) SM.restaurant(x) SM.typeOfCuisine(x ,'Chinese') otherwise

Search for meaning of Chinese: pertaining to China / person from China / …

Select meaning "pertaining to China" as it suits the role of an adjective "pertaining to China" applies either to the cuisine being served or the

the owner of the restaurant discard owner as normally this is not an attribute used to select restaurants if there is an attribute typeOfCuisine, add the predicate typeOfCuisine(x,

'Chinese') if Chinese doesn't produce results, try with nearby concepts (e.g. Vietnamese)

or more generic concepts (e.g. Asian)

Page 30: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

30

Understanding the What A place selling stamps

Selling: action, related to shops / shopping Stamps: object to be sold Stamps are sold by post offices only (contextual knowledge)

=> Q: (x) SM.postOffice(x)

A taxi Taxi: service, offered by taxi companies, contact by

telephone

Am I moving North? (Assuming the LBS positioning services include a functionality to compute directionality of paths) Boolean query: yes - no North: direction Moving: action Moving North: going in North direction: user movement leading

North

Page 31: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

31

Query Answering Steps Reformulate the user input (what, where, when, what

else) as a conjunctive query: set of predicates defining the result Q: (x) SM.restaurant(x) SM.typeOfCuisine(x ,'Chinese')

SM.rating(x, 'very good') SM.location(x, p) near(p, CM.currentUserLocation)

Reformulate the query by adding/modifying predicates to take into account the user profile e.g. user profile has preference for cosy restaurants Q: Q SM.atmosphere(x, 'cosy')

Reformulate the query by adding/modifying predicates to take into account the context IF (weather = 'sunny' AND temperature = 'warm' AND

'outdoor' IN UP.preferences) THEN Q: Q SM.sitting(x, 'outdoor')

Check preconditions and possibly add more predicates

Page 32: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

32

Using pre-conditions Precedence: If the precondition for using a service is that another service must have been used before, look into the interaction history to check the precondition --> need to maintain an interaction history

Filtering: If the precondition limits the use of a service to a certain category of people, check if the querying user belongs to this category the qualifying category is defined, for each type of service,

by a set of predicates on the user profile --> relevance links between service description and user

description

Dependence: If the precondition limits the use of a service to queries issued in a certain context, check if the current context allows for using the service the qualifying contexts are defined, for each type of

service, by a set of predicates on the context data --> relevance links between service description and context

description

Page 33: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

33

Query Reformulation Example Original user query

Q (what: Salsa dance course, where: near Kyoto Tower, when: Thursday evening, what-else: beginner)

Step 1: Q(what) Reformulation: ’Salsa dance course’

From the core ontology: DanceCourse Course HasSubject.Dance and HasStyle is a role from Dance to DanceStyle and Salsa is an instance of DanceStyle qwhat= "DanceCourse" and qwhatelse= (DanceStyle = ’Salsa’)

The what of the query can be written as: Q: (x) DanceCourse(x) DanceStyle(x, 'Salsa')

Page 34: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

34

Example continued: where Step 2: Q(where) Reformulation: near Kyoto Tower

near: a spatial relation; Kyoto Tower: a known Landmark

qwhere: distance(KyotoTower.location, Service.location)≤ 1km

(x) DanceCourse(x) DanceStyle(x, 'Salsa')

location(x, s) location(CM.KyotoTower, k) distance(s, k) < 1km

Page 35: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

35

Example continued: when Step 3: Q(when) Reformulation: Thursday evening

Local Calendar: current date is "2007-07-17, Tuesday". In this context,Thursday means "2007-07-19, Thursday"Evening is defined in local context as after 6 pm.

(x) DanceCourse(x) DanceStyle(x, 'Salsa') location(x, s) location(CM.KyotoTower,

k) distance(s, k) < 1km

OpenTime(x, d, t) d = '2007-07-19' t > 18

Page 36: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

36

Example continued: what_else Step 4: Q(what-else) Reformulation: "beginner"

The initial condition in Q(what-else) is only one keyword "beginner". By identifying its value, it is found it matches with the value domain of the attribute "level", hence it is reformulated as follows:

qwhatelse = (level = ’beginner’)

Q: (x) DanceCourse(x) DanceStyle(x, 'Salsa') location(x, s) location(CM.KyotoTower, k) distance(s, k) < 1km OpenTime(x, d, t) d = '2007-07-19' t > 18

Level(x, 'beginner')

Page 37: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

37

Query Refinement Q: (x) DanceCourse(x) DanceStyle(x, 'Salsa')

location(x, s) location(CM.KyotoTower, k) distance(s, k) < 1km OpenTime(x, d, t) d = '2007-07-19' t > 18

Level(x, 'beginner') User Profile: Language: LIST(Japanese, English, French)

Q: Q TeachingLanguage(x, t) ( t = 'Japanese' v t = 'English' v t = 'French' ) ORDER x BY (t, LIST(Japanese, English, French))

Page 38: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

38

Query Relaxation If a satisfying service is not found, a Latin dance course may be acceptable instead of a Salsa course (Latin denotes a dance style more generic than Salsa) relaxing the predicate on dance style

If a satisfying service is not found, an afternoon course may be acceptable instead of an evening course relaxing the predicates on hour

If a satisfying service is not found, a course on Wednesady may be acceptable instead of a course on Thursday relaxing the predicates on date

What can be relaxed (and in which order of priority) depends on the user preferences need for a user-defined query relaxation profile

Page 39: A Modular Data Infrastructure for Location-Based Services Shijun Yu, Stefano Spaccapietra Ecole Polytechnique Fédérale de Lausanne (EPFL)

39

Conclusion Personalized and context-dependent information management is the natural target for next generation information services in general and LBS in particular.

An appropriate data infrastructure is needed for that.

We propose a modular ontology framework, mainly built from externally provided user and service descriptions

We emphasized the need for intra-module and inter-module links, and identified a set of relevant semantics for these links, to effectively enable personalization and contextualization.