Wie man einem Empfehlungssystem mitteilt, wo Menschen leben möchten: Geo-Embeddings
Ein Wohnungsempfehlungssystem ersetzte in einem Zwei-Türme-Modell die rohen Breiten- und Längengrade durch erlernte H3-Geo-Embeddings. Wie es entwickelt wurde und die A/B-Test-Ergebnisse, die es lieferte.
Quellen: **Location Matters: Leveraging Multi-Resolution Geo-Embeddings for Housing Search**
Ein Immobilienmarkt mit Millionen von Objekten hat ein Problem bei der Suche nach passenden Angeboten. Bei einer solchen Menge an Immobilien besteht die Hauptaufgabe darin, jedem Nutzer das richtige Zuhause zu zeigen – und für die meisten Menschen ist der entscheidende Faktor der Standort. Dieser Artikel beschreibt, wie das Empfehlungsteam der größten Immobilienplattform Lateinamerikas, die Mieter, Käufer und Vermieter dabei unterstützt, ohne den üblichen Papierkram zu mieten und zu kaufen, die Art und Weise überarbeitet hat, wie sein Modell Standorte versteht. Die Ergebnisse wurden auf der RecSys 2025 in Prag vorgestellt, und alle unten angegebenen Zahlen stammen von dem Team selbst.
Warum der Standort besondere Aufmerksamkeit verdient
Eine Umfrage unter fast 800 Nutzern der Plattform ergab, dass mehr als die Hälfte den Standort als wichtigsten Faktor bei der Entscheidung für eine Mietwohnung ansah – vor Preis, Größe und Ausstattung. Das mag offensichtlich klingen, doch der Standort gehört zu den schwierigsten Signalen, die bei Empfehlungssystemen richtig eingeschätzt werden müssen.
Der Rest der Geschichte befasst sich mit geo-bewussten Embeddings: gelernten Vektoren, die den Standort einer Immobilie sowie die Ähnlichkeit zwischen Orten auf eine Weise kodieren, die der Empfehlungssystem direkt nutzen kann.
Stand der ersten Version
Das Empfehlungssystem ist ein Zwei-Türme-Modell, eine Architektur, die von Google und YouTube für die Suche in sehr großen Katalogen populär gemacht wurde. Ein Turm verarbeitet Informationen über einen Benutzer und der andere über ein Haus. Beide projizieren in einen gemeinsamen Embedding-Raum, wobei ein Skalarprodukt angibt, wie gut die Übereinstimmung ist. Die interne Modellfamilie der Plattform wird HUE genannt, abgekürzt für House User Embeddings.
Die erste Version war absichtlich einfach und ausschließlich tabellarisch aufgebaut. Jedes Attribut auf der Seite der Immobilien hatte ein Gegenstück auf der Seite des Benutzers, das als rollierende Statistik aus den letzten fünfzehn Interaktionen der Person berechnet wurde.
Es handelt sich um ein übersichtliches Design: Die Häuser werden anhand ihrer Eigenschaften beschrieben, die Nutzer durch eine Zusammenfassung dessen, was sie sich angeschaut haben, und die Türme ermitteln, wie die beiden miteinander verbunden sind. Miete, Flächengröße und Anzahl der Schlafzimmer verhielten sich unter diesem System gut, denn die mittlere Miete der letzten fünfzehn angesehenen Immobilien gibt einen recht guten Überblick über das Budget der Nutzer. Die Lage hingegen nicht – und genau das ist der Grund für dieses Projekt.
Warum Rohkoordinaten schlechte Eigenschaften darstellen
Eine Koordinate hat keine nutzbare Bedeutung. Breitengrad und Längengrad bilden ein globales Gitter, das keinerlei Verbindung zu der Art und Weise aufweist, wie Menschen Orte wahrnehmen; ein Wert wie -22,97 sagt dem Modell nichts über Copacabana aus. Um damit arbeiten zu können, müssen dichte Schichten jedes Stadtviertel aus einer kontinuierlichen Ebene herausmodellieren und die Grenzen ausschließlich anhand von Interaktionsdaten ermitteln. Dadurch wird viel Modellkapazität für etwas aufgewendet, was jeder Einheimische bereits weiß.
Zahlische Nähe bedeutet nicht funktionale Ähnlichkeit. Ein Fluss, eine Autobahn oder ein Gebirgskamm kann zwei nur 500 Meter voneinander entfernte Orte voneinander trennen und ihnen unterschiedliche Verkehrsverhältnisse, Preise sowie Charaktereigenschaften verleihen. Zwei Stadtviertel, die zehn Kilometer voneinander entfernt sind, könnten für einen bestimmten Mieter nahezu perfekte Ersatzoptionen sein. Die euklidische Entfernung zwischen Koordinaten ist nur eine schwache Ersetzung für die wirklich wichtige Frage: Wäre diese Person an beiden Orten genauso glücklich?
Das Durchschnittnehmen der Koordinaten löscht das Signal aus. Das ist der entscheidende Fehler, der die Nutzerturm-Verarbeitung beeinträchtigt. Stellen Sie sich einen Mieter in Rio de Janeiro vor, der Copacabana mit Barra da Tijuca vergleicht – eine häufige Kombination. Die mittlere Koordinate aus seiner Ansichtsgeschichte liegt im Tijuca-Massiv, wo fast nichts zur Miete steht. Jeder, der zwei oder drei verschiedene Gebiete betrachtet – was den Großteil der Menschen betrifft – wird auf einen einzigen Punkt reduziert, den er niemals in Betracht ziehen würde.
Bevor sie die Darstellung änderten, versuchte das Team, das Problem zu beheben, indem es die Breiten- und Längengrade quadrierte, damit dichte Schichten Kurvenregionen leichter beschreiben konnten. Die Verbesserung war gering, und genau diese Geringfügigkeit war die Diagnose. Ein Merkmal, das eine polynomielle Erweiterung vor der Verwendung durch das Modell erfordert, weist auf eine fehlerhafte Darstellung hin, nicht auf ein fehlerhaftes Modell. Deshalb hörte das Team auf, dem Modell Koordinaten zu liefern, und begann stattdessen, ihm Geografie beizubringen.
Zwei strukturelle Schwierigkeiten
Jeder Ansatz muss mit zwei Problemen umgehen.
Das erste ist die Sparseheit. Die Anzahl der Wohnungen in einer Mikolge ist gering und ungleichmäßig verteilt. Es wird dringend empfohlen, sich strikt innerhalb enger Grenzen zu bewegen, da sonst schnell die Liste der verfügbaren Wohnungen erschöpft ist. Zudem erkennt das Modell an jedem Ort zu wenige Interaktionen, um etwas Zuverlässiges lernen zu können.
Das zweite Problem ist, dass die funktionale Ähnlichkeit nirgends festgehalten wird. In den Listings steht nichts darüber, ob ein Stadtteil einen anderen ersetzen kann – oder warum: Zugang zum Strand, Verkehrsanbindung, Sicherheit, Preisniveau. Dieses Wissen existiert nur in der Art und Weise, wie die Menschen suchen, weshalb das Modell es aus dem Verhalten lernen muss – oder darauf verzichten muss.
Der Ansatz: Ein Zwei-Türme-Modell über mehrere Auflösungsstufen von H3-Zellen
Anstatt Funktionen manuell zu entwickeln, trainierte das Team ein Zwei-Türme-Netzwerk mit einem kontrastiven Ziel, sodass die Ortsrepräsentationen aus beobachtetem Verhalten stammen. Ein Benutzer-Turm kodiert Personen, ein Orts-Turm kodiert Orte, und das Training kombiniert die Vektoren für Benutzer und Orte, die in echten, hochintensiven Interaktionen gemeinsam auftauchen.
Am wichtigsten ist die Art und Weise, wie ein Ort beschrieben wird. Rohdaten in Form von Koordinaten werden nicht verwendet. Stattdessen wird jede Eigenschaft im Uber-H3-Grid indiziert, wobei ein Breiten- und Längengradpaar auf eine hexagonale Zell-ID abgebildet wird. Da H3 hierarchisch ist, liegt jeder Punkt bei jeder Auflösung in einer Zelle – von grob (etwa 36 km² pro Zelle bei Auflösung 6) bis fein (etwa 0,105 km² bei Auflösung 9). Jede Zell-ID ist ein diskreter Token, sodass für sie ein Embedding auf dieselbe Weise erlernt werden kann wie Wort-Embeddings in Textmodellen.
Die Zellen bei den H3-Auflösungen 6, 7, 8 und 9 durchlaufen jeweils ihre eigene Embedding-Schicht, und ein Embedding auf Stadtniveau wird hinzugefügt, um die allgemeine Form von Stadtgebieten zu erfassen. Der Location-Tower verknüpft all diese Embeddings miteinander und leitet sie durch ein Paar voll verbundener ReLU-Schichten, wodurch am Ende für jede Lage ein 32-dimensionaler Vektor entsteht.
Die Benutzeroberfläche wird absichtlich schlicht gehalten: Ein Embedding für die Benutzer-ID folgt auf dichte Schichten, sodass fast das gesamte Lernen im Location-Tower stattfindet. Sein Zweck besteht darin, jedes Location-Embedding in Richtung der Orte zu lenken, mit denen sich ein Benutzer tatsächlich beschäftigt hat. Nach dem Training wird er verworfen, und was übrig bleibt, ist die Menge der Location-Vektoren, die anschließend von nachgelagerten Modellen wiederverwendet werden.
Warum mehrere Auflösungen gleichzeitig? Ein einzelner fein abgestimmter Bereich bietet Präzision, mangelt aber an Daten. Ein einzelner grober Bereich verfügt über reichlich Daten, lässt aber wichtige Unterschiede unklar werden. Durch das Schichten der Auflösungen kann das Modell auf die umliegende Region zurückgreifen, wenn ein bestimmter Bereich nur wenige Interaktionen aufweist, während lokale Details dort beibehalten werden, wo ausreichend Belege vorhanden sind. Man kann sich das wie eine Eigenschaftspyramide für den Raum vorstellen – ein direktes Gegenmittel zur Spärlichkeit der Daten.
Trainingssignal. Der Verlustwert stammt vom InfoNCE-Ziel aus der kontrastiven prädiktiven Kodierung. Die Zeilen sind (Benutzer, Standort)-Paare aus echten, intensiven Interaktionen, also gebuchten Besuchen oder eingereichten Angeboten. Negative Beispiele werden nicht manuell ausgewählt. Innerhalb jeder Batch dienen die Standorte anderer Benutzer als Negative, was nichts kostet und die tatsächliche Nachfrage widerspiegelt.
Es gibt ein Problem. Ein Ort ist nicht wie eine willkürliche Item-ID, denn viele Benutzer können gleichzeitig zu demselben Standort eine positive Bewertung abgeben. Wenn sich herausstellt, dass ein negativer Eintrag aus derselben Batch-Gruppe zu einem Ort gehört, mit dem derselbe Benutzer bereits interagiert hat, wird dies als falsch negativer Eintrag behandelt und ausgeblendet, damit das Paar nicht versehentlich auseinandergedrängt wird. Ähnlichkeiten haben eine bestimmte „Temperatur“, und die Kreuzentropie wird in beide Richtungen angewendet – vom Benutzer zum Ort und zurück.
Das Modell wurde mit PyTorch Lightning unter Verwendung der Xavier-einheitlichen Initialisierung, 32-dimensionaler Embeddings, des Adam-Optimizers sowie einer Batch-Größe von 512 entwickelt. Die Trainingsdaten umfassten etwa 4 Millionen hochintensive Ereignisse, die von rund einer Million verschiedenen Benutzern erzeugt wurden. Nur starke Signale wie die Buchung eines Besuchs oder das Angebot eines Services wurden beibehalten, während störende, weniger intensive Ereignisse wie Klicks weggelassen wurden.
Wie es bewertet wurde
Der Vergleich umfasste drei Modelle: eine Baseline-Methode der Matrixfaktorisation (implicit-feedback ALS nur mit der feinsten H3-Zelle), ein Zwei-Türme-Modell, das ausschließlich die H3-Resolution 9 verwendet, sowie das vollständige Zwei-Türme-Design mit mehreren Auflösungensebenen. Zwei Bewertungsverfahren wurden parallel durchgeführt.
Intrinsische Bewertung beurteilt die Qualität der Embeddings direkt, unabhängig von beliebigen nachgelagerten Aufgaben, und verwendet zwei Kriterien zur Überprüfung auf Kollaps. Das erste ist die Informationsfülle, die in jüngsten Arbeiten zum Embedding-Kollaps als Summe der Singularwerte der Embedding-Matrix geteilt durch den größten Wert definiert wird. Bei 32 Dimensionen liegt dieser Wert zwischen 1 (vollständiger Kollaps) und 32 (jede Dimension trägt gleich viel bei), wobei höhere Werte besser sind. Das zweite Kriterium ist das Spektrum der Singularwerte der normalisierten Embedding-Kovarianzmatrix, das zeigt, wie sich die Varianz über die Dimensionen verteilt. Ein sanfter, flacher Abfall bedeutet, dass das Modell seine Kapazität voll ausnutzt, während ein steiler Abfall auf einen dimensionalen Kollaps hindeutet, bei dem die Embeddings in einen niedrig-rangigen Unterraum degenerieren.
Das gemeldete Spektrum ist klar. Das Modell mit einziger Auflösung fällt bei höheren Rangindizes stark ab, was ein Zeichen für einen Kollaps ist. Das Mehrauflösungsmodell zeigt von den dreien den flachsten Abfall, was bedeutet, dass seine Varianz gleichmäßig verteilt ist und es den Embedding-Raum voll ausnutzt.
Extrinsische Bewertung fragt danach, ob bessere Embeddings den Nutzern helfen. Dabei wurden monatliche Produktionsprotokolle (März 2025) aus einem „ähnliche Häuser“-Modul verwendet, einem Item-zu-Item-Empfehlungssystem, das Häuser anzeigt, die einer Referenzanzeige ähneln. Für jede Referenzanzeige wurden die ursprünglichen Empfehlungen anhand der Kosinusähnlichkeit zwischen der geografischen Embedding-Wert der Referenzanzeige und denen jeder Kandidatanzeige neu rangiert, wobei Empfehlungen unter einem bestimmten Ähnlichkeitsschwellenwert schrittweise entfernt wurden.
Die wichtigste Geschäftsmetrik ist die Mietflussrate, also der Anteil der angezeigten Empfehlungen, die mit einer klaren Handlung abschlossen – sei es ein persönlicher Besuch oder ein Mietangebot. Klicks sind störend, weshalb stattdessen Mietflüsse herangezogen werden, da sie ein echtes Interesse widerspiegeln. Für jedes Modell und jeden Schwellenwert wurde die Verbesserung im Verhältnis zu den unfiltrierten Empfehlungen desselben Modells mit gültigen Ähnlichkeitswerten berechnet, und die Tabelle zeigt den Durchschnitt über alle Schwellenwerte. Das Training endete im Dezember 2024 und die Bewertung nutzte die Protokolle von März 2025, sodass nichts aus der Bewertungsperiode in das Training gelangte.
Auf der anderen Seite der Kurve, wenn die Empfehlungsliste schrumpft, zeigt das Mehr-Resolutions-Modell bei den aggressivsten Schwellenwerten die beste Leistung, während die gelernten Ansätze in der Mitte zusammenrücken. Der aussagekräftigste Vergleich ist mit einem einfachen radialen Entfernungsfilter: Die größten Verbesserungen ergaben sich aus der gelernten Ähnlichkeitsbetrachtung und nicht daraus, nahegelegene Immobilien zu bevorzugen.
Ergebnisse
Die Plattform betreibt zwei Hauptgeschäftsbereiche, Miete und Verkauf. Die Offline-Bewertung konzentriert sich auf Mietinteraktionen, bei denen das Volumen mit hoher Absichtstiefe am höchsten ist, während der Online-Einfluss in beiden Bereichen bewertet wurde.
Sowohl die Offline- als auch die Online-Ansätze verbesserten sich mit jedem Schritt in Richtung höherer Modellkomplexität. Eine Einschränkung vor den Zahlen: Die Steigerung des Mietflusses basiert auf einer Simulation, die auf der Neubewertung historischer Produktionsprotokolle erfolgt, und nicht auf einem Live-Experiment. Die Ergebnisse von Live-A/B-Tests werden weiter unten erläutert.
Der Übergang von der Matrixfaktorisation zum Modell mit zwei Türmen in einer einzigen Auflösung erhöhte die Informationsfülle um 158 % und die simulierten Mietzuwächse um 84 %. Die mehrstufigen H3-Embeddings fügten anschließend weitere 40 % zur Informationsfülle hinzu, sodass diese 21,7 erreichte, und brachten die simulierten Zuwächse auf 10,9 % – fast das Doppelte des vorherigen Wertes. Kurz gesagt: Die Bereitstellung eines räumlichen Kontexts in mehreren Skalen verbesserte sowohl die Embeddings selbst als auch deren simulierten Effekt auf die Nutzer.
Um die Embeddings verständlicher zu machen, entwickelte das Team ein internes Tool, das die nächstgelegenen Nachbarn auf einer Karte darstellt. Wählt man ein dunkles Ankerhexagon in Copacabana aus, leuchten eine Gruppe von benachbarten Zellen auf – das sind die, die das Modell als funktional ähnlich betrachtet. Dies dient als praktische Überprüfung, ob die gelernte Geografie mit der Vorstellung der Menschen von einer Stadt übereinstimmt.
Online A/B-Test mit ähnlichen Häusern. Zum Zeitpunkt der Erstellung des Artikels war das Experiment mit dem „ähnliche Häuser“-Carrousel noch im Gange. Es wurde inzwischen abgeschlossen, und die erzielten Vorteile für diesen Carrousel waren:
- Miete: eine Steigerung der Klickrate um 4,18 % sowie eine Steigerung der Klicks, die zu einem Besichtigungstermin führten, um 3,38 %.
- Verkauf: die Klickrate stieg um 5,53 %.
Es zählen nur die tatsächlichen Ergebnisse. Sowohl die Offline-Metriken als auch der A/B-Test deuten in dieselbe Richtung: Geo-Embeddings sind lohnenswert.
GeoEmbeddings in HUE einbinden
Die Studie zur Neubewertung diente als Konzeptbeweis. Das eigentliche Ziel bestand darin, Breiten- und Längengrade aus dem Empfehlungssystem selbst zu entfernen, was zur zweiten Iteration des produktiven Empfehlungssystems führte. Die vortrainierten GeoEmbeddings befinden sich in einem gemeinsamen Speicher und bleiben unverändert, sodass das Empfehlungssystem ein konstantes geografisches Signal erhält und nicht erneut Geografie lernen muss. Die beiden Speicher nutzen diese Informationen auf unterschiedliche Weise.
Die Änderung in der House Tower besteht in einem einfachen Austausch: Anstelle der Koordinaten des Eintrags erhält sie nun das GeoEmbedding der H3-Zelle, die den Eintrag enthält.
Der Benutzer-Turm benötigt eine gründlichere Neubetrachtung, denn Mittelwerte können nicht einfach durch etwas Äquivalentes ersetzt werden. Es gibt nichts Sinnvolles, was durchschnittlich berechnet werden könnte. Stattdessen wird dem Turm eine Sequenz zugeführt, die die Zellen aus den letzten zehn Ereignissen der Person in der richtigen Reihenfolge enthält. Jeder Eintrag gibt den Ereignistyp an, sodass eine flüchtige Ansicht und ein Angebot unterschiedlich gewertet werden, sowie eine Frischheitskodierung, die dem Modell hilft zu erkennen, wie schnell ein Signal verblassen sollte.
Der Mieter, der zwischen Copacabana und Barra abwägt, muss nicht mehr in einen bestimmten Bereich zwischen den beiden Orten eingeteilt werden. Beide Orte sind dem Modell nun sichtbar. Es kann erkennen, welcher gerade angeguckt wurde, welcher zu einem gebuchten Besuch führte und welcher früher aufgetreten ist.
Zusammen führten diese beiden Änderungen zu dem größten Verbesserungseffekt, den das Team bisher durch die Anpassung einer einzigen Eigenschaft erlebt hatte. Gemessen an der Permutationswichtigkeit wurde GeoEmbeddings zur wichtigsten Eigenschaft im Recommender der zweiten Iteration, und der live durchgeführte A/B-Test zeigte +1 % mehr Buchungen im Bereich Mieten sowie +3,3 % mehr Angebote im Bereich Verkäufe. Solche Verbesserungen bei der Konversionsrate auf Plattformenebene zeigen, wie stark die Qualität der Repräsentationen die Ergebnisse beeinflusst.
Was kommt als Nächstes
Die Geografie selbst hat noch viel zu bieten. Zu den Plänen gehören explizite Näheindikatoren wie die Entfernung zu U-Bahnhöfen, Schulen und Parks sowie präzisere Repräsentationen, die feiner strukturiert und dynamischer sind.
Eine bedeutendere Erkenntnis entstand fast zufällig. Durch die Neugestaltung des Benutzer-Turms handelte es sich zum ersten Mal um einen Fall, in dem HUE die Historie eines Nutzers als geordnete Abfolge von Ereignissen statt als Sammlung von Zusammenfassungsstatistiken betrachtete – und dieser Ansatz zahlte sich aus. Er ließ eine natürliche Frage aufkommen: Wenn eine Abfolge die richtige Art ist, um darzustellen, wo jemand gesucht hat, eignete sie sich dann nicht auch für alles andere, was er getan hat?
Durch die Erforschung dieser Frage entstand SENNA, ein sequenzieller, multimodaler Empfehlungssystem, dessen gesamter Benutzer-Turm aus einer Abfolge der Seiten besteht, mit denen eine Person interagiert hat; jede Seite wird vollständig beschrieben, einschließlich Fotos. GeoEmbeddings dienen dabei als festgelegte geografische Eingabedaten.
Die Lage war stets das Wichtigste für die Nutzer. Indem das Modell dazu angeleitet wurde, auf verschiedenen Ebenen zu analysieren, wo sich etwas befindet, anstatt eine Koordinate einfach als weitere Zahl zu behandeln, erhielt das Team eine Möglichkeit, dieser Präferenz Rechnung zu tragen.
Hintergrundliteratur
Die Ideen basieren auf einer Handvoll öffentlicher Quellen: dem Paper zu zwei Türmen für die Suche auf YouTube von Covington, Adams und Sargin (2016), der Arbeit zu zwei Türmen mit Korrektur von Stichprobenverzerrungen von Yi und Kollegen (2019), dem Paper zur kontrastiven prädiktiven Kodierung von van den Oord, Li und Vinyals (2018), der Studie zum Embedding-Kollaps von Guo und Kollegen (2024) sowie der Dokumentation des H3-geospatial-Index auf h3geo.org.