Google Research Introduces ME-POIs: A Mobility-Informed Framework that Adds “How a Place Is Used” to Text-Based POI Embeddings

Disclosure: Some links in this article are affiliate links. AI Maestro may earn a commission if you make a purchase, at no…

By Vane August 24, 2026 4 min read
Google Research Introduces ME-POIs: A Mobility-Informed Framework that Adds “How a Place Is Used” to Text-Based POI Embeddings

A team from Google Research and USC has released Mobility-Embedded POIs (ME-POIs), a system that integrates aggregate human movement data into standard text-based place embeddings. The core problem is that language models describe what a location is but fail to capture how it is used. Two coffee shops might share an address and a category vector, yet one serves commuters for ten minutes while the other keeps customers for ninety. ME-POIs encodes every visit as a contextualized vector and uses contrastive learning to align those visits with a single learnable prototype for each point of interest. Testing across five map-enrichment tasks using Los Angeles and Houston mobility data showed that adding ME-POIs to strong text encoders improved 34 of 35 model-task pairings in Los Angeles. Relative gains reached 81.9% F1 on visit intent and a 24.7% mean absolute error reduction on busyness. A variant trained on mobility data alone outperformed Gemini embeddings on price-level classification.

Is it deployable

Currently, it is a framework you must rebuild rather than a checkpoint you can download. Google Research has published the paper but has not released public code or weights. The computational requirements are low: the model contains approximately 53.7M parameters and was pretrained on a single NVIDIA Tesla V100 with 16GB of memory. The real barrier is data. You need licensed foot-traffic logs or first-party visit records combined with POI polygons.

How the framework works

Each visit is recorded as a triple: coordinates, arrival time, and departure time. Three factorized encoders process these inputs. Space2Vec handles multi-scale location data. Two Time2Vec encoders process arrival and departure times separately, ensuring start time and dwell duration remain distinct. The concatenated vectors receive sinusoidal positional encoding and pass through a four-layer, eight-head Transformer with a hidden dimension of 512 to produce contextualized visit embeddings.

The core objective is contrastive. Every POI owns a learnable prototype. An InfoNCE loss pulls each visit embedding toward its own POI’s prototype while pushing away other POIs in the minibatch. The prototype acts as a functional centroid that averages individual user schedules.

Sparsity remains a challenge. Only 9.07% of Los Angeles POIs and 7.04% of Houston POIs met the anchor threshold of 100 and 50 total visits respectively. For the long tail, ME-POIs computes normalized Gaussian kernels at three bandwidths — 0.3 km, 1.0 km, and 3.0 km. It transfers anchor visit histograms to sparse POIs and adds a KL term forcing the sparse embedding to predict that prior. A second KL term supervises anchors against their own empirical distributions. A fourth loss maximizes cosine similarity with projected text embeddings. These embeddings use prompts following the GeoLLM recipe: coordinates, category, address, and the ten nearest POIs with distance and direction.

What the numbers say

Evaluation covers two anonymized mobility datasets. Los Angeles data includes 39,557 POIs and 6.9M visits from the full year 2019. Houston data includes 28,419 POIs and 715,604 visits from 20 days in March 2020. The study used frozen-embedding probing across five map-enrichment tasks. Labels come from SafeGraph for opening hours and closures, and Google Maps for visit intent, busyness, and price level.

Adding ME-POIs improved 34 of 35 model-task pairings in Los Angeles. Peak relative gains included 16.2% F1 on weekly opening hours using OpenAI-large, 81.9% F1 on visit intent using Gemini, 6.5% F1 on permanent closure using E5, and a 24.7% MAE reduction on busyness using Gemini. In Houston, price-level F1 rose 75.1% for GTR-T5. The single regression was Gemini on permanent closure, which dropped 0.4%.

The more interesting result is the mobility-only variant. Trained with no text alignment, it reaches 0.600 accuracy on Los Angeles price level against Gemini’s 0.559. Collective behaviour outperforms the words used to label the place. It also beats every trajectory-based baseline on every task.

Explainer: the mechanism, step by step

The process begins by converting raw trip data into a structured vector. This involves encoding the spatial component via Space2Vec and the temporal components via two separate Time2Vec models for arrival and departure.

These vectors merge and pass through a Transformer block to create a unified representation of the visit. This step ensures the model understands the specific context of that moment in time and space.

The system then applies contrastive learning. It compares the visit embedding against a prototype vector for that specific location. The model is trained to pull matching visits closer together and push unrelated visits further apart.

For locations with few visits, the system uses a transfer learning approach. It borrows statistical patterns from nearby, data-rich locations to fill in the gaps for the sparse ones.

Finally, the model aligns the mobility-derived vectors with text-based embeddings. This ensures the new data works alongside existing language models rather than replacing them entirely.

What it means

For businesses and developers, this shift implies that text alone is insufficient for understanding location utility. A model must see how people actually move to distinguish between a quick stop and a leisure visit. The mobility-only variant suggests that raw movement data can be more reliable than descriptive text for certain metrics, such as price estimation. However, the lack of public weights means immediate adoption is limited to those with access to proprietary location data.

Scroll to Top