SlideShare une entreprise Scribd logo
1  sur  107
Télécharger pour lire hors ligne
Helping Travellers Make
Better Hotel Choices
500 Million Times a Month
Miguel Cabrera
@mfcabrera
https://www.flickr.com/photos/18694857@N00/5614701858/
ABOUT ME
•  Neuberliner
•  Ing. Sistemas e Inf. Universidad Nacional - Med
•  M.Sc. In Informatics TUM, Hons. Technology
Management.
•  Work for TrustYou as Data (Scientist|Engineer|
Juggler)™
•  Founder and former organizer of Munich DataGeeks
ABOUT ME
TODAY
•  What we do
•  Architecture
•  Technology
•  Crawling
•  Textual Processing
•  Workflow Management and Scale
•  Sample Application
AGENDA
WHAT WE DO
For every hotel on the planet, provide
a summary of traveler reviews.
•  Crawling
•  Natural Language Processing / Semantic
Analysis
•  Record Linkage / Deduplication
•  Ranking
•  Recommendation
•  Classification
•  Clustering
Tasks
ARCHITECTURE
Data Flow
Crawling	
  
Seman-c	
  
Analysis	
  
	
  Database	
   API	
  
Clients
• Google
• Kayak+
• TY
Analytics
Batch
Layer
• Hadoop
• Python
• Pig*
• Java*
Service
Layer
• PostgreSQL
• MongoDB
• Redis
• Cassandra
DATA DATA
Hadoop Cluster
Application
Machines
Stack
SOME NUMBERS
25 supported languages
500,000+ Properties
30,000,000+ daily crawled
reviews
Deduplicated against 250,000,000+
reviews
300,000+ daily new reviews
https://www.flickr.com/photos/22646823@N08/2694765397/
Lots of text
TECHNOLOGY
•  Numpy
•  NLTK
•  Scikit-Learn
•  Pandas
•  IPython / Jupyter
•  Scrapy
Python
•  Hadoop Streaming
•  MRJob
•  Oozie
•  Luigi
•  …
Python + Hadoop
Crawling
Crawling
•  Build your own web crawlers
•  Extract data via CSS selectors, XPath,
regexes, etc.
•  Handles queuing, request parallelism,
cookies, throttling …
•  Comprehensive and well-designed
•  Commercial support by
http://scrapinghub.com/
•  2 - 3 million new reviews/week
•  Customers want alerts 8 - 24h after review
publication!
•  Smart crawl frequency & depth, but still high
overhead
•  Pools of constantly refreshed EC2 proxy IPs
•  Direct API connections with many sites
Crawling at TrustYou
•  Custom framework very similar to scrapy
•  Runs on Hadoop cluster (100 nodes)
•  Not 100% suitable for MapReduce
•  Nodes mostly waiting
•  Coordination/messaging between nodes
required:
–  Distributed queue
–  Rate Limiting
Crawling at TrustYou
Text Processing
Text Processing
Raw	
  text	
  
Setence	
  
spli:ng	
  
Tokenizing	
   Stopwords	
  
Stemming
Topic Models
Word Vectors
Classification
Text Processing
•  “great rooms”
•  “great hotel”
•  “rooms are terrible”
•  “hotel is terrible”
Text Processing
JJ NN
JJ NN
NN VB JJ
NN VB JJ

>> nltk.pos_tag(nltk.word_tokenize("hotel is
terrible"))

[('hotel', 'NN'), ('is', 'VBZ'), ('terrible', 'JJ')]
•  25+ languages
•  Linguistic system (morphology, taggers,
grammars, parsers …)
•  Hadoop: Scale out CPU
•  ~1B opinions in the database
•  Python for ML & NLP libraries
Semantic Analysis
Word2Vec/Doc2Vec
Group of algorithms
An instance of shallow learning
Feature learning model
Generates real-valued vectors
represenation of words
“king” – “man” + “woman” = “queen”
Word2Vec
Source:	
  h*p://technology.s4tchfix.com/blog/2015/03/11/word-­‐is-­‐worth-­‐a-­‐thousand-­‐vectors/	
  
Word2Vec
Source:	
  h*p://technology.s4tchfix.com/blog/2015/03/11/word-­‐is-­‐worth-­‐a-­‐thousand-­‐vectors/	
  
Word2Vec
Source:	
  h*p://technology.s4tchfix.com/blog/2015/03/11/word-­‐is-­‐worth-­‐a-­‐thousand-­‐vectors/	
  
Word2Vec
Source:	
  h*p://technology.s4tchfix.com/blog/2015/03/11/word-­‐is-­‐worth-­‐a-­‐thousand-­‐vectors/	
  
Word2Vec
Source:	
  h*p://technology.s4tchfix.com/blog/2015/03/11/word-­‐is-­‐worth-­‐a-­‐thousand-­‐vectors/	
  
Word2Vec
Source:	
  h*p://technology.s4tchfix.com/blog/2015/03/11/word-­‐is-­‐worth-­‐a-­‐thousand-­‐vectors/	
  
Similar words/documents are nearby
vectors
Wor2vec offer a similarity metric of
words
Can be extended to paragraphs and
documents
A fast Python based implementation
available via Gensim
Workflow Management and Scale
Crawl	
  
Extract	
  
Clean	
  
Stats	
  
ML	
  
ML	
  
NLP	
  
Luigi
“ A python framework for data
flow definition and execution ”
Luigi
•  Build complex pipelines of
batch jobs
•  Dependency resolution
•  Parallelism
•  Resume failed jobs
•  Some support for Hadoop
Luigi
Luigi
•  Dependency definition
•  Hadoop / HDFS Integration
•  Object oriented abstraction
•  Parallelism
•  Resume failed jobs
•  Visualization of pipelines
•  Command line integration
Minimal Bolerplate Code
class WordCount(luigi.Task):
date = luigi.DateParameter()
def requires(self):
return InputText(date)
def output(self):
return luigi.LocalTarget(’/tmp/%s' % self.date_interval)
def run(self):
count = {}
for f in self.input():
for line in f.open('r'):
for word in line.strip().split():
count[word] = count.get(word, 0) + 1
f = self.output().open('w')
for word, count in six.iteritems(count):
f.write("%st%dn" % (word, count))
f.close()
class WordCount(luigi.Task):
date = luigi.DateParameter()
def requires(self):
return InputText(date)
def output(self):
return luigi.LocalTarget(’/tmp/%s' % self.date_interval)
def run(self):
count = {}
for f in self.input():
for line in f.open('r'):
for word in line.strip().split():
count[word] = count.get(word, 0) + 1
f = self.output().open('w')
for word, count in six.iteritems(count):
f.write("%st%dn" % (word, count))
f.close()
Task Parameters
class WordCount(luigi.Task):
date = luigi.DateParameter()
def requires(self):
return InputText(date)
def output(self):
return luigi.LocalTarget(’/tmp/%s' % self.date_interval)
def run(self):
count = {}
for f in self.input():
for line in f.open('r'):
for word in line.strip().split():
count[word] = count.get(word, 0) + 1
f = self.output().open('w')
for word, count in six.iteritems(count):
f.write("%st%dn" % (word, count))
f.close()
Programmatically Defined Dependencies
class WordCount(luigi.Task):
date = luigi.DateParameter()
def requires(self):
return InputText(date)
def output(self):
return luigi.LocalTarget(’/tmp/%s' % self.date_interval)
def run(self):
count = {}
for f in self.input():
for line in f.open('r'):
for word in line.strip().split():
count[word] = count.get(word, 0) + 1
f = self.output().open('w')
for word, count in six.iteritems(count):
f.write("%st%dn" % (word, count))
f.close()
Each Task produces an ouput
class WordCount(luigi.Task):
date = luigi.DateParameter()
def requires(self):
return InputText(date)
def output(self):
return luigi.LocalTarget(’/tmp/%s' % self.date_interval)
def run(self):
count = {}
for f in self.input():
for line in f.open('r'):
for word in line.strip().split():
count[word] = count.get(word, 0) + 1
f = self.output().open('w')
for word, count in six.iteritems(count):
f.write("%st%dn" % (word, count))
f.close()
Write Logic in Python
Hadoop
https://www.flickr.com/photos/12914838@N00/15015146343/
Hadoop = Java?
Hadoop
Streaming
cat input.txt | ./map.py | sort | ./reduce.py > output.txt
Hadoop
Streaming
hadoop jar contrib/streaming/hadoop-*streaming*.jar 
-file /home/hduser/mapper.py -mapper /home/hduser/mapper.py 
-file /home/hduser/reducer.py -reducer /home/hduser/reducer.py 
-input /user/hduser/text.txt -output /user/hduser/gutenberg-output
class WordCount(luigi.hadoop.JobTask):
date = luigi.DateParameter()
def requires(self):
return InputText(date)
def output(self):
return luigi.hdfs.HdfsTarget(’%s' % self.date_interval)
def mapper(self, line):
for word in line.strip().split():
yield word, 1
def reducer(self, key, values):
yield key, sum(values)
Luigi + Hadoop/HDFS
Go and learn:
Data Flow Visualization
Data Flow Visualization
Before
•  Bash scripts + Cron
•  Manual cleanup
•  Manual failure recovery
•  Hard(er) to debug
Now
•  Complex nested Luigi jobs graphs
•  Automatic retries
•  Still Hard to debug
We use it for…
•  Standalone executables
•  Dump data from databases
•  General Hadoop Streaming
•  Bash Scripts / MRJob
•  Pig* Scripts
You can wrap anything
Sample Application
Reviews are boring…
Source:	
  hGp://www.telegraph.co.uk/travel/hotels/11240430/TripAdvisor-­‐the-­‐funniest-­‐
reviews-­‐biggest-­‐controversies-­‐and-­‐best-­‐spoofs.html	
  
Reviews highlight the individuality
and personality of users
Snippets from Reviews
“Hips don’t lie”
“Maid was banging”
“Beautiful bowl flowers”
“Irish dance, I love that”
“No ghost sighting”
“One ghost touching”
“Too much cardio, not enough squats in the gym”
“it is like hugging a bony super model”
Hotel Reviews + Gensim + Python +
Luigi = ?
ExtractSentences
LearnBigrams
LearnModel
ExtractClusterIds
UploadEmbeddings
Pig
from gensim.models.doc2vec import Doc2Vec
class LearnModelTask(luigi.Task):
# Parameters.... blah blah blah
def output(self):
return luigi.LocalTarget(os.path.join(self.output_directory,
self.model_out))
def requires(self):
return LearnBigramsTask()
def run(self):
sentences = LabeledClusterIDSentence(self.input().path)
model = Doc2Vec(sentences=sentences,
size=int(self.size),
dm=int(self.distmem),
negative=int(self.negative),
workers=int(self.workers),
window=int(self.window),
min_count=int(self.min_count),
train_words=True)
model.save(self.output().path)
Wor2vec/Doc2vec offer a similarity
metric of words
Similarities are useful for non-
personalized recommender systems
Non-personalized recommenders
recommend items based on what
other consumers have said about the
items.
http://demo.trustyou.com
Takeaways
Takeaways
•  It is possible to use Python as the primary
language for doing large data processing on
Hadoop.
•  It is not a perfect setup but works well most of
the time.
•  Keep your ecosystem open to other
technologies.
We are hiring
miguel.cabrera@trustyou.net
We are hiring
miguel.cabrera@trustyou.net
Questions?

Contenu connexe

En vedette

독일비행기표값
독일비행기표값독일비행기표값
독일비행기표값
gsdplkfs
 

En vedette (17)

El radio
El radioEl radio
El radio
 
Presente perfecto anggi
Presente perfecto anggiPresente perfecto anggi
Presente perfecto anggi
 
Poster Analysis
Poster Analysis Poster Analysis
Poster Analysis
 
Análisis documental
Análisis documentalAnálisis documental
Análisis documental
 
Linea Guia.
Linea Guia.Linea Guia.
Linea Guia.
 
Capture - Day 1 - 09:00 - "Drawing a Line Under the Measurement of Video Adve...
Capture - Day 1 - 09:00 - "Drawing a Line Under the Measurement of Video Adve...Capture - Day 1 - 09:00 - "Drawing a Line Under the Measurement of Video Adve...
Capture - Day 1 - 09:00 - "Drawing a Line Under the Measurement of Video Adve...
 
독일비행기표값
독일비행기표값독일비행기표값
독일비행기표값
 
Filtre mott
Filtre mottFiltre mott
Filtre mott
 
Chan tinh tran le quynh
Chan tinh   tran le quynhChan tinh   tran le quynh
Chan tinh tran le quynh
 
Proyecto artesanal
Proyecto artesanalProyecto artesanal
Proyecto artesanal
 
Paint TSR168
Paint TSR168Paint TSR168
Paint TSR168
 
La Biblioteca 2.0
La Biblioteca 2.0La Biblioteca 2.0
La Biblioteca 2.0
 
Proyecto yoghurt de flores
Proyecto yoghurt de floresProyecto yoghurt de flores
Proyecto yoghurt de flores
 
Basic money worksheet
Basic money worksheetBasic money worksheet
Basic money worksheet
 
Mais sobre Varizes: sintomas, causas e tratamento.
Mais sobre Varizes: sintomas, causas e tratamento.Mais sobre Varizes: sintomas, causas e tratamento.
Mais sobre Varizes: sintomas, causas e tratamento.
 
Facebook, instagram y snapchat
Facebook, instagram y snapchatFacebook, instagram y snapchat
Facebook, instagram y snapchat
 
Kaggle: Coupon Purchase Prediction
Kaggle: Coupon Purchase PredictionKaggle: Coupon Purchase Prediction
Kaggle: Coupon Purchase Prediction
 

Similaire à Ayudando a los Viajeros usando 500 millones de Reseñas Hoteleras al Mes

Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
MongoDB
 
The Semantic Knowledge Graph
The Semantic Knowledge GraphThe Semantic Knowledge Graph
The Semantic Knowledge Graph
Trey Grainger
 
First Hive Meetup London 2012-07-10 - Tomas Cervenka - VisualDNA
First Hive Meetup London 2012-07-10 - Tomas Cervenka - VisualDNAFirst Hive Meetup London 2012-07-10 - Tomas Cervenka - VisualDNA
First Hive Meetup London 2012-07-10 - Tomas Cervenka - VisualDNA
Tomas Cervenka
 
AI與大數據數據處理 Spark實戰(20171216)
AI與大數據數據處理 Spark實戰(20171216)AI與大數據數據處理 Spark實戰(20171216)
AI與大數據數據處理 Spark實戰(20171216)
Paul Chao
 

Similaire à Ayudando a los Viajeros usando 500 millones de Reseñas Hoteleras al Mes (20)

Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
 
PyData Berlin Meetup
PyData Berlin MeetupPyData Berlin Meetup
PyData Berlin Meetup
 
Introduction to Apache Flink - Fast and reliable big data processing
Introduction to Apache Flink - Fast and reliable big data processingIntroduction to Apache Flink - Fast and reliable big data processing
Introduction to Apache Flink - Fast and reliable big data processing
 
Software Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and PracticesSoftware Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and Practices
 
Scalding big ADta
Scalding big ADtaScalding big ADta
Scalding big ADta
 
MongoDB 3.0
MongoDB 3.0 MongoDB 3.0
MongoDB 3.0
 
Sorry - How Bieber broke Google Cloud at Spotify
Sorry - How Bieber broke Google Cloud at SpotifySorry - How Bieber broke Google Cloud at Spotify
Sorry - How Bieber broke Google Cloud at Spotify
 
Your Database Cannot Do this (well)
Your Database Cannot Do this (well)Your Database Cannot Do this (well)
Your Database Cannot Do this (well)
 
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and SparkVital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark
 
Osd ctw spark
Osd ctw sparkOsd ctw spark
Osd ctw spark
 
An R primer for SQL folks
An R primer for SQL folksAn R primer for SQL folks
An R primer for SQL folks
 
Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...
Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...
Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...
 
The Semantic Knowledge Graph
The Semantic Knowledge GraphThe Semantic Knowledge Graph
The Semantic Knowledge Graph
 
First Hive Meetup London 2012-07-10 - Tomas Cervenka - VisualDNA
First Hive Meetup London 2012-07-10 - Tomas Cervenka - VisualDNAFirst Hive Meetup London 2012-07-10 - Tomas Cervenka - VisualDNA
First Hive Meetup London 2012-07-10 - Tomas Cervenka - VisualDNA
 
MongoDB at ZPUGDC
MongoDB at ZPUGDCMongoDB at ZPUGDC
MongoDB at ZPUGDC
 
Get started with Lua - Hackference 2016
Get started with Lua - Hackference 2016Get started with Lua - Hackference 2016
Get started with Lua - Hackference 2016
 
OCF.tw's talk about "Introduction to spark"
OCF.tw's talk about "Introduction to spark"OCF.tw's talk about "Introduction to spark"
OCF.tw's talk about "Introduction to spark"
 
AI與大數據數據處理 Spark實戰(20171216)
AI與大數據數據處理 Spark實戰(20171216)AI與大數據數據處理 Spark實戰(20171216)
AI與大數據數據處理 Spark實戰(20171216)
 
Data Migration into Drupal
Data Migration into DrupalData Migration into Drupal
Data Migration into Drupal
 
Machine Learning with Azure
Machine Learning with AzureMachine Learning with Azure
Machine Learning with Azure
 

Plus de Big Data Colombia

Deep learning: el renacimiento de las redes neuronales
Deep learning: el renacimiento de las redes neuronalesDeep learning: el renacimiento de las redes neuronales
Deep learning: el renacimiento de las redes neuronales
Big Data Colombia
 

Plus de Big Data Colombia (18)

An introduction to deep reinforcement learning
An introduction to deep reinforcement learningAn introduction to deep reinforcement learning
An introduction to deep reinforcement learning
 
Machine learning applied in health
Machine learning applied in healthMachine learning applied in health
Machine learning applied in health
 
Whose Balance Sheet is this? Neural Networks for Banks’ Pattern Recognition
Whose Balance Sheet is this? Neural Networks for Banks’ Pattern RecognitionWhose Balance Sheet is this? Neural Networks for Banks’ Pattern Recognition
Whose Balance Sheet is this? Neural Networks for Banks’ Pattern Recognition
 
Analysis of your own Facebook friends’ data structure through graphs
Analysis of your own Facebook friends’ data structure through graphsAnalysis of your own Facebook friends’ data structure through graphs
Analysis of your own Facebook friends’ data structure through graphs
 
Lo datos cuentan su historia
Lo datos cuentan su historiaLo datos cuentan su historia
Lo datos cuentan su historia
 
Entornos Naturalmente Inteligentes
Entornos Naturalmente InteligentesEntornos Naturalmente Inteligentes
Entornos Naturalmente Inteligentes
 
Modelamiento predictivo y medicina
Modelamiento predictivo y medicinaModelamiento predictivo y medicina
Modelamiento predictivo y medicina
 
Deep learning: el renacimiento de las redes neuronales
Deep learning: el renacimiento de las redes neuronalesDeep learning: el renacimiento de las redes neuronales
Deep learning: el renacimiento de las redes neuronales
 
IPython & Jupyter
IPython & JupyterIPython & Jupyter
IPython & Jupyter
 
Cloud computing: Trends and Challenges
Cloud computing: Trends and ChallengesCloud computing: Trends and Challenges
Cloud computing: Trends and Challenges
 
Machine learning y Kaggle
Machine learning y KaggleMachine learning y Kaggle
Machine learning y Kaggle
 
Fraud Analytics
Fraud AnalyticsFraud Analytics
Fraud Analytics
 
Data crunching con Spark
Data crunching con SparkData crunching con Spark
Data crunching con Spark
 
Introducción al Datawarehousing
Introducción al DatawarehousingIntroducción al Datawarehousing
Introducción al Datawarehousing
 
Análisis Explotatorio de Datos: Dejad que la data hable.
Análisis Explotatorio de Datos: Dejad que la data hable.Análisis Explotatorio de Datos: Dejad que la data hable.
Análisis Explotatorio de Datos: Dejad que la data hable.
 
Big Data para mortales
Big Data para mortalesBig Data para mortales
Big Data para mortales
 
Salud, dinero, amor y big data
Salud, dinero, amor y big dataSalud, dinero, amor y big data
Salud, dinero, amor y big data
 
Business Analytics: ¡La culpa es del BIG data!
Business Analytics: ¡La culpa es del BIG data!Business Analytics: ¡La culpa es del BIG data!
Business Analytics: ¡La culpa es del BIG data!
 

Dernier

➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men 🔝mahisagar🔝 Esc...
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men  🔝mahisagar🔝   Esc...➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men  🔝mahisagar🔝   Esc...
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men 🔝mahisagar🔝 Esc...
amitlee9823
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
amitlee9823
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
gajnagarg
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
amitlee9823
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
amitlee9823
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
amitlee9823
 
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night StandCall Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
amitlee9823
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
amitlee9823
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
amitlee9823
 
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
amitlee9823
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
amitlee9823
 
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
gajnagarg
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
amitlee9823
 

Dernier (20)

➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men 🔝mahisagar🔝 Esc...
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men  🔝mahisagar🔝   Esc...➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men  🔝mahisagar🔝   Esc...
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men 🔝mahisagar🔝 Esc...
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
 
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night StandCall Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
 
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
 
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
 
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 

Ayudando a los Viajeros usando 500 millones de Reseñas Hoteleras al Mes