Skip to main content

Jak działa wyszukiwanie nieruchomości w języku naturalnym

Seeki Editorial

Wyszukiwanie nieruchomości w języku naturalnym to sposób na znalezienie mieszkania przez wpisanie zdania tak, jak by się je wypowiedziało (na przykład „dwupokojowe mieszkanie w Warszawie blisko szkoły do 600 000 zł") i otrzymanie przefiltrowanej mapy oraz listy ofert. Zamiast klikać przez dziesięć rozwijanych menu, opisuje się czego się chce, a system wyciąga kryteria z tego zdania.

Tego rodzaju wyszukiwanie zaczęło działać wiarygodnie dopiero w ostatnich dwóch latach. Portale oparte na filtrach radzą sobie z jednym krajem, jednym językiem i sztywnym schematem. Kto kupuje w różnych krajach Europy, napotyka inny problem: każde państwo nazywa pokoje, układy i typy ogłoszeń inaczej, a większość portali mówi tylko jednym językiem. Seeki wypełnia dokładnie tę lukę.

Ten tekst wyjaśnia, jak wyszukiwanie działa w zarysie, dlaczego transgraniczny zakup rozbija tradycyjne filtry i w którym miejscu system woli dopytać niż zgadnąć.

Jak to działa

Zanim ze zdania powstanie wynik, przechodzi ono kilka kroków. Najpierw system czyta zdanie i wyciąga z niego części, które dadzą się odwzorować na bazę nieruchomości: miejsce, zamiar (kupno albo wynajem), typ nieruchomości, przedział cenowy, liczba pokoi, wymagane wyposażenie i punkty zainteresowania w okolicy. Następnie dopasowuje nazwę miejscowości do hierarchicznego rejestru europejskich lokalizacji, dzięki czemu „Warszawa", „Warschau", „Varsovia" i „Varsovie" trafiają do tego samego miasta. Z kryteriów powstaje zapytanie bazodanowe do marketplace'u, ceny przeliczają się na euro, żeby waluty nie przeszkadzały. Na wyjściu pojawia się mapa i stronicowana lista, a URL zostaje przepisany w formę nadającą się do udostępnienia, którą można zapisać w zakładkach lub przesłać.

Dlaczego w Europie ma to większe znaczenie niż w pojedynczym kraju: nazwy jednostek mieszkaniowych nie zgadzają się ponad granicami. Polskie „M3" to w portugalskim żargonie nieruchomości „T3" (liczba oznacza pokoje, nie sypialnie). Po czesku to „2+kk" lub „3+kk" zależnie od tego, czy aneks kuchenny jest częścią głównego pokoju. Po niemiecku „Drei-Zimmer-Wohnung", po włosku „trilocale", po niderlandzku „driekamerappartement". Żadnego z tych pojęć nie da się oddać przez podmianę jednego słowa w dropdownie. Ten sam problem dotyczy typów ogłoszeń („na sprzedaż" vs. „na wynajem", dopóki nie zobaczy się „à vendre" / „te koop" / „for sale" / „zum Verkauf" / „in vendita": kilka języków, jeden zamiar) i kategorii nieruchomości.

Wyszukiwanie po zdaniu omija to wszystko, traktując pytanie jak język, a wynik jak dane. Użytkownik mówi słownictwem swojego rynku, system tłumaczy je na własny kanoniczny schemat i dopiero wtedy szuka. Ten sam mechanizm obsługuje scenariusz transgraniczny: polski kupujący szukający domu wakacyjnego może napisać po polsku „dom z basenem nad Balatonem do 300 000 €" i dostanie oferty z Węgier, w euro, z filtrami, których używa w kraju.

Konkretny przykład

KrokCo wchodziCo wychodzi
Odczytanie zdania„dwupokojowe mieszkanie w Warszawie blisko szkoły do 600 000 zł"miejsce: Warszawa, kupno czy wynajem: kupno, typ: mieszkanie, układ: 2 pokoje, maks. cena: 600 000 zł, blisko: szkoła
Rozpoznanie miejsca„Warszawa"strona Warszawy w pana/pani języku
Filtrowanie marketplace'upowyższe kryteriamieszkania w Warszawie pasujące do filtrów
Renderowaniedopasowane ogłoszeniamapa i lista z udostępnialnym URL-em

Zdanie w innym języku przechodzi tą samą drogą. Niemieckie „Drei-Zimmer-Wohnung in Berlin unter 500.000 €" trafi na stronę berlińskich mieszkań, z filtrem ceny wewnętrznie liczonym w euro.

Gdzie system pyta o pomoc

Wyszukiwanie po zdaniu jest tyle warte, ile jego radzenie sobie z niejasnymi lub niewykonalnymi zapytaniami. Regularnie powtarzają się trzy przypadki.

Gdy zdanie nie dotyczy nieruchomości, chat grzecznie przekierowuje i użytkownik pisze dalej. Gdy zdanie dotyczy nieruchomości, ale nazwa miejsca nie pasuje do niczego w rejestrze (nieznana wioska, nieobsługiwany kraj, literówka, której nie dało się uratować), chat pyta o najbliższe miasto lub region zamiast podawać miasto w niewłaściwym kraju. Gdy w zdaniu brakuje konkretnego kryterium („chcę ładne mieszkanie"), chat zadaje jedno celowe pytanie uzupełniające: które miasto, jaki budżet, kupno czy wynajem.

Te zabezpieczenia istnieją, bo cicho przyjęta wartość domyślna jest gorsza od jednego dodatkowego pytania. System, który pewnie zwraca niewłaściwe miasto, zawodzi w najbardziej kłopotliwy sposób.

Najczęstsze pytania

Czy działa to w moim języku?

Działa w językach: angielski, czeski, słowacki, niemiecki, niderlandzki, polski, hiszpański, włoski, portugalski i francuski. Zapytanie można sformułować w którymkolwiek z nich i dostanie się odpowiedź w tym samym języku, z ofertami z całej Europy, niezależnie od oryginalnego języka ogłoszeń. Tytuły i opisy są tłumaczone na żądanie na język, którego pan/pani używa.

Co jeśli moje zapytanie jest zbyt ogólne?

System powie to wprost, zamiast zgadywać. Chat zwróci jedno krótkie pytanie uzupełniające („które miasto?", „jaki budżet?", „kupno czy wynajem?") i zaczeka. Jedna runda doprecyzowania zwykle wystarcza. Jeśli wolimy klikać: na stronie wyników wszystkie filtry są dalej dostępne, a wyszukiwanie po zdaniu to wejście, nie jedyna droga.

Czy znajdzie oferty blisko szkoły, przystanku albo parku?

Tak. Jeśli wspomni się o tym w zdaniu, system wyciąga warunek POI i zawęża wyniki do ofert w odległości pieszej od pasującego punktu zainteresowania. Rozpoznawane są szkoły, przedszkola, przystanki tramwaju i metra, parki, supermarkety, szpitale i kilka innych kategorii.

Jak radzi sobie z różnymi systemami liczenia pokoi?

Model zna lokalne konwencje. Portugalskie „T3" i niemieckie „Drei-Zimmer-Wohnung" trafią na tę samą wartość układu wewnętrznego, a zapytanie bazodanowe obsługuje oba przypadki tak samo. Nie trzeba uczyć się terminologii obcego kraju, żeby tam szukać.

Co dzieje się po wyświetleniu wyników?

URL można udostępnić i zaindeksować, można go więc zapisać w zakładkach lub przesłać dalej. Przy doprecyzowywaniu (zmianie ceny, dodaniu filtra, przesunięciu mapy) pozostajemy na tej samej stronie, model językowy nie jest wywoływany ponownie. Kliknięcie w ofertę otwiera detal nieruchomości z podobnymi ogłoszeniami na mapie, wszystko w pana/pani języku.

Czy model językowy decyduje, które mieszkanie jest najlepsze?

Nie. Wyciąga tylko to, o co pan/pani pytał/a. Sortowanie i filtrowanie odbywa się w bazie wobec obiektywnych kryteriów (cena, lokalizacja, liczba pokoi, dane samego ogłoszenia), a nie wobec preferencji modelu. System jest tłumaczem ze zdania na filtry, nie systemem rekomendacji.

Seeki to marketplace, a wyszukiwanie po zdaniu to jedno z wejść. Aby zrozumieć, jak różnią się ceny i podaż na kontynencie, przegląd cen dla Czech pokazuje aktualne €/m² według regionu, a analiza cen praskich dzielnic tłumaczy, jak jedno miasto może mieścić jednocześnie pięć różnych poziomów cenowych.