Andrei Tabarcea, Matti Mononen 6.03.2013. Joint PhD degree candidate for University of Eastern...

Preview:

Citation preview

Andrei Tabarcea, Matti Mononen

6.03.2013

World-wide location-based search using

OpenStreetMap

Joint PhD degree candidate for University of Eastern Finland and Technical University of Iasi, Romania

ECSE grant 2012 & 2013Proposed graduation 2014, supervisor prof.

Pasi FräntiThesis “Location-based applications”Research part of Mopsi project

http://cs.uef.fi/mopsi

Andrei Tabarcea

A. Tabarcea, K. Waga, Z. Wan and P. Fränti, "O-Mopsi: Mobile Orienteering Game Using Geotagged Photos", Int. Conf. on Web Information Systems & Technologies (WEBIST'13), Aachen, Germany, 8-10 May 2013.

K. Waga, A. Tabarcea, R. Mariescu-Istodor and P. Fränti, "Real Time Access to Multiple GPS Tracks", Int. Conf. on Web Information Systems & Technologies (WEBIST'13), Aachen, Germany, 8-10 May 2013.

K. Waga, A. Tabarcea, R. Mariescu-Istodor and P. Fränti, "System for real time storage, retrieval and visualization of GPS tracks", Int. Conf. System Theory, Control and Computing (ICSTCC 2012), Sinaia, Romania, Vol. 2, October 2012.

K. Waga, A. Tabarcea, M. Chen and P. Fränti, "Detecting movement type by route segmentation and classification", IEEE Int. Conf. on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom'12), Pittsburgh, USA, 2012

K. Waga, A. Tabarcea and P. Fränti, "Recommendation of points of interest from user generated data collection", IEEE Int. Conf. on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom'12), Pittsburgh, USA, 2012.

Publications 2012-2013

How to find location-information in web-pages?

Location-based search

Site hosting informationdomain:   uef.fidescr:    ITÄ-SUOMEN YLIOPISTO (UNIV OF EASTERN FINLAND)descr:    22857339address:  TIETOTEKNIIKKAKESKUS (IT-CENTRE)/Jarno Huuskonenaddress:  PL 1627address:  70211address:  KUOPIO FINLANDphone:    +358 44 7162810status:   Grantedcreated:  26.5.2010modified: 19.8.2011expires:  26.5.2015nserver:  ns-secondary.funet.fi [Ok]nserver:  ns1.uef.fi [Ok]nserver:  ns2.uef.fi [Ok]dnssec:   no

geo-tags, address-tags, vcards for Google Maps etc.

HTML tags

<HTML><HEAD profile"="http://geotags.com/geo>

<META name="geo.position" content="62.35;29.44"> <META name="geo.region" content="FI"><META name="geo.placename" content="Joensuu"> <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link rel="stylesheet" href="http://www.joensuu.fi/tkt/sivutyyli.css" type="text/css"><TITLE>Pages of Pasi Fränti</TITLE></HEAD>

Natural language descriptions

Scouts' Youth Hostel   (8.3 km from Joensuu Airport) Show map

Good, 7.4   Latest booking: January 23 Scouts’ Youth Hostel is located at the outfall of River Pielisjoki, 1.5 km from Joensuu city centre. It offers free Wi-Fi and rooms with shared bathroom and kitchen facilities. OlgaSaint-Petersburg, Russia "Great price for the nice room. Friendly stuff, cozy atmosphere. But a bit loud."

from € 46

Postal addresses

Input:

• user location (lat, lon)

• keywords

Output: list of services containing:

• name/title

• website

• address (street, number. city)

• location (lat, lon)

• image

• other info (opening hours, telephone etc.)

Main idea:

• preprocess the search results of an external search engine (Google, Yahoo, Bing etc.) by detecting postal address in order to find the location

Mopsi search

1. Convert user location (lat, lon) into user address = Geocoding step

2. Search with the query "keyword+city" using an external search engine API and download the first k results (web pages) = Web page retrieval step

3. Detect addresses and additional informatio from the downloaded web pages = Data mining step

4. Ranking the results (distance, relevance etc.) = Ranking step

5. Display the search results to the user

Proposed steps

1. Geocode

r 2.

Web page

retrieval

3. Data minin

g

4. Result rankin

gUser

lat, lon

keywords

web page

s

result list

5. ranked result

list

Geocoding

Geocoder Web

page retrieva

l

Data minin

g

Result rankin

gUser

lat, lon

keywords

web page

s

result list

ranked result

list

Convert user location (lat, lon) into user address using:

Web page retrieval

Geocoder Web

page retrieva

l

Data minin

g

Result rankin

gUser

lat, lon

keywords

web page

s

result list

ranked result

list

Download k webpages from the query <keyword, city> using API of:

Ranking

Geocoder Web

page retrieva

l

Data minin

g

Result rankin

gUser

lat, lon

keywords

web page

s

result list

ranked result

list

Main criterion: distance from the user’s location

Future idea: relevance to user’s profile and history

Data mining

Geocoder Web

page retrieva

l

Data minin

g

Result rankin

gUser

lat, lon

keywords

web page

s

result list

ranked result

list

Main idea:

Find location information in HTML pages by detecting postal addresses

Steps:

1. Parse and segment the HTML page

2. Identify addresses and locations

3. Identify the services the addresses are pointing to (name/title)

4. Retrieve extra information (photos, opening hours, telephone etc.)

Extract text from HTML pages

Segmentation of web pages using DOM tree

Parsing HTML pagesONLINE TILAUS RAVINTOLAT Ravintola Deli Istanbul Kotiinkuljetus Nouto11.00-21.00 Pilkkitie 1, Joensuu, Rantakylä Avoinna - Kotiinkuljetus - Nouto La Dolce Vita Kotiinkuljetus Nouto10.00-21.00 Wahlforssinkatu 6, Joensuu, Ke.. Avoinna - Kotiinkuljetus - Nouto

• Rule-based pattern matching algorithm• Starting point: the detection of street-names• An address-block candidate is constructed by detecting:

• street names and number• postal codes• municipal names

• We will use OpenStreetMap database for global detection

Postal address detection

Street namesStreetnumbers

City namesTelephonenumbers

Web page example - Homepage

DOM tree

blue: links (the A tag)red: tables (TABLE, TR and TD tags)green: dividers (DIV tag)violet: images (the IMG tag)yellow: forms (FORM, INPUT, TEXTAREA, SELECT and OPTION tags)orange: linebreaks and blockquotes (BR, P, and BLOCKQUOTE tags)black: HTML tag, the root nodegray: all other tags 

DOM subtree

<html>

<body>

<table> <td>

<tr> <div>

<table>

<tr><td>PizzaPojat Niinivaara

Niinivaarantie 19

80200 Joensuu

013 - 137 017

<br/>

<div>

<table align="center“> <tr> <td> <div id="footerleft"> <h3>PizzaPojat Niinivaara</h3> <p>Niinivaarantie 19</p> <p>80200 Joensuu</p> <br /> <p>013 - 137 017</p> </div> <td> </tr> </table>

Web page example - Catalog

Web page example - Catalog

Bosbor kebab

Fiesta

Miami

<html>

<body>

<table> <td>

<tr> <div>

<table>

<tr><td>PizzaPojat Niinivaara

Niinivaarantie 19

80200 Joensuu

013 - 137 017

<br/>

1. Convert HTML pages to xHTML for using xQuery

2. Detect addresses and postal codes

3. Break the DOM tree into subtrees

4. Use heuristics and regular expressions to detect extra information from the subtree (service name, telephone, opening hours etc.)

Implementation

Thank you

Questions?

Recommended