Eine klassische Textsuche findet «Angular», wenn jemand «Angular» eingibt. Sie findet nicht «Frontend-Entwickler mit SPA-Erfahrung», obwohl beides auf dieselbe Person zutreffen könnte. Für die Besetzung von Projektrollen ist das ein echter Nachteil — gerade dann, wenn man nicht genau weiss, wie ein Kollege seine Fähigkeiten beschrieben hat.
Semantische Suche löst dieses Problem. Anstatt Texte zeichenweise zu vergleichen, werden sie als Vektoren im mehrdimensionalen Raum dargestellt — sogenannte Embeddings. Ähnliche Bedeutungen landen in diesem Raum nah beieinander, unabhängig von der genauen Wortwahl. Ein Satz wie «Ich entwickle Angular-Applikationen» und die Suchanfrage «Frontend-Entwickler mit SPA-Erfahrung» landen nah genug zusammen, um als relevant erkannt zu werden.
Im CvTool haben wir Embeddings für alle Profilbeschreibungen berechnet und in der Datenbank gespeichert. Bei einer Suchanfrage wird der Suchtext in denselben Vektorraum übersetzt und mit den gespeicherten Profilen verglichen — über die Kosinus-Ähnlichkeit der Vektoren. Das Ergebnis ist eine nach Relevanz sortierte Trefferliste — die das semantische Spektrum einer Anfrage berücksichtigt, nicht nur exakte Übereinstimmungen.
Die Nutzererfahrung ist spürbar anders. Wer ein Projektteam zusammenstellt und nach «Erfahrung im öffentlichen Sektor mit agilen Methoden» sucht, bekommt jetzt tatsächlich passende Treffer — auch wenn diese Begriffe im Profil nicht wortwörtlich so stehen.
Ein wichtiger Hinweis aus der Praxis: Semantische Suche ist nur so gut wie die Daten, auf denen sie operiert. Dünne oder inkonsistente Profilbeschreibungen liefern auch mit dem besten Modell nur mittelmässige Ergebnisse. Der CV-Import hat hier einen direkten positiven Effekt: Je vollständiger die Profile, desto besser die Suchergebnisse.