Two coffee shops sit on the same block, share a category, and produce nearly identical text embeddings. One turns tables every twenty minutes. The other hosts laptop campers for two hours. Language models can’t tell the difference. Google Research and USC just published a framework that can.
ME-POIs folds aggregate human movement into place embeddings using a contrastive learning setup. Each visit becomes a triple of coordinates, arrival time, and departure time, processed through Space2Vec and dual Time2Vec encoders before a 4-layer Transformer generates contextualized visit vectors. Every POI owns a learnable prototype, and an InfoNCE loss pulls visits toward their own prototype while pushing away others in the minibatch. The result is a functional centroid that captures how people actually use a place, not just what it’s called.
The numbers are striking. Across five map-enrichment tasks on Los Angeles and Houston mobility data, adding ME-POIs improved 34 of 35 model-task pairings in LA, with relative gains up to 81.9% F1 on visit intent and a 24.7% MAE reduction on busyness prediction. The most surprising result: a mobility-only variant, trained with zero text alignment, hit 0.600 accuracy on price-level classification versus Gemini’s 0.559. Collective behavior beat the words used to describe the place.
Don’t expect to download a checkpoint. The paper is out, but no code or weights have been released. Compute isn’t the obstacle—the model is roughly 53.7M parameters and pretrained on a single V100. The real gate is data. You need licensed foot-traffic logs or first-party visit records plus POI polygons. And sparsity is brutal: only 9.07% of LA POIs cleared the 100-visit anchor threshold. The framework handles the long tail through multi-scale Gaussian kernel transfer at 0.3, 1.0, and 3.0 km bandwidths, but that’s a workaround, not a solution. The core insight stands: how people move through a place says something that words cannot.