Zum dritten Mal in Folge durften wir Teil der Big Data Conference Europe sein, die Ende September stattfand. In meinem Vortrag habe ich mich – nach den Themen Real-time Streaming Analytics und AI Cloud Services in den letzten Jahren – mit einem Trend beschäftigt, der uns bei SHI thematisch durch unsere „Search“-DNA nahe liegt: der Vektor-basierten Ähnlichkeitssuche.
Durch die Vorträge der anderen Speaker erhielt ich außerdem vielfältige neue Einblicke. Mein Hauptaugenmerk galt dabei den Kerntechnologien der SHI und insbesondere zwei Beiträgen zu Apache NiFi.
Keyword-basierte und Vektor-basierte Suche
Als große Fans von Suchtechnologien wie Apache Solr und Elasticsearch wissen wir um deren Stärken: Große Datenmengen lassen sich schnell und effizient durchsuchen. Doch auch diese Technologien haben durch den Keyword-basierten Ansatz Schwächen. Denn sie können nur finden, was sie auch kennen. Damit können nur diejenigen Datensätze zu einer Suche gefunden werden, in denen die Suchterme auch enthalten sind. Eine klassische Suchmaschine kennt keine Synonyme (bzw. nur diejenigen, die man ihr mit Listen beibringt). Sie erfasst keine semantische Bedeutung und kann nur schwer mit Mehrdeutigkeit umgehen. Moderne Use Cases, die die Suche in unstrukturierten Daten wie Audio, Video und Bildern ermöglichen, stellen ebenso eine Herausforderung dar.
Und somit stellt sich die Frage, ob Vektor-basierte Suche den traditionellen Suchtechnologien langsam, aber sicher den Rang abläuft. Durch vortrainierte Sprachmodelle, die auf riesigen Textmengen trainiert wurden, versprechen Vektorsuchmaschinen eine Ähnlichkeits-basierte Suche, die im Falle von klassischen Anwendungsfällen wie der unternehmensweiten Suche oder der Suche im Online-Shop nicht mehr nur das finden können, was wortwörtlich indexiert wurde. Diese Sprachmodelle helfen der Suchmaschine, Sprache zu verstehen und dadurch über einfaches Keyword-Matching hinauszugehen. Etwas Fine-Tuning der Sprachmodelle mit eigenen domänenspezifischen Daten vorausgesetzt, ist es so möglich, die Bedeutung von Text zur Indexierungszeit zu erfassen und in Vektoren enkodiert im Index abzulegen. Zur Suchzeit wird die Suchanfrage mit demselben Sprachmodell in einen Vektor überführt und so deren Bedeutung erfasst, die dann mit dem Index abgeglichen werden kann.
In der Kombination liegt die Kraft
Ist durch die Möglichkeit der semantischen Suche also der Abgesang der Keyword-Suche und der technologischen Platzhirsche Solr und Elasticsearch eingeläutet? Mitnichten! Einerseits gibt es aktuell bereits die Möglichkeit, ein Elasticsearch-Plugin oder Solr Streaming Expressions einzusetzen. Andererseits wird ab Lucene 9.0 eine Ähnlichkeitssuche enthalten sein, die dann sicher kurzfristig in Lucene-basierten Technologien wie Solr oder Elasticsearch Einzug finden wird.
Zudem kommen auch Vektor-Suchmaschinen mit ihren eigenen Herausforderungen:
- Die Komplexität dieser Anwendungen hat ihren Preis, was die Performance angeht.
- Ein Verzicht auf Solr oder Elasticsearch bedeutet auch einen Verzicht auf enthaltene Features wie Facettierung, Autosuggest oder Highlighting.
- Auch ein passendes Sprachmodell zu finden und dies entsprechend zu justieren, ist ein nicht zu unterschätzender Prozess.
Unsere Überzeugung ist daher, eine sinnvolle Kombination beider Welten anzustreben und Vektor-basierte Ähnlichkeitssuche überall dort einzusetzen, wo sie sinnvoll ist. So können beispielsweise einzelne Features von einer solchen technologischen Grundlage profitieren, wie Query Rewriting oder die Vermeidung von 0-Treffer-Suchanfragen. Für eine schnelle, effiziente Suche sowie intuitive Navigation durch die Trefferlisten bilden die aktuellen Platzhirsche nach wie vor den Goldstandard. So können die Vorzüge beider Ansätze gewinnbringend miteinander verknüpft werden.
Hier finden Sie die Aufzeichnung der Veranstaltung
Weitere Themen der Big Data Conference
Insgesamt waren in zwei Tagen mehrere Dutzend Speaker in vier Tracks unterwegs, wodurch ein breites Spektrum an Themen im Programm zu finden war. Mit Apache NiFi war eine unserer Kerntechnologien gleich zweimal vertreten: Albert Lewandowski zeigte Erkenntnisse, die die Migration einer klassischen NiFi-Installation hin zu einer Installation auf Kubernetes-Basis mit sich brachte. Timothy Spann verwendete Apache NiFi in seiner Session als Teil eines größeren Stacks bestehend aus mehreren Open Source Projekten wie Apache Flink und Apache Pulsar, die in Kombination eine Streaming-Plattform ergeben, die Real-time Streaming Analytics in allen Facetten beherrscht.
Insbesondere die Keynotes griffen interessante Punkte auf:
- Mark Grover zeigte auf, wie trotz vieler Ungewissheiten unternehmensintern Vertrauen in Daten aufgebaut werden kann. Denn falsche oder nicht vertrauenswürdige Daten haben nicht nur negative Auswirkungen auf die Produktivität, sondern bewirken auch falsche Schlussfolgerungen in Analysen.
- Phil Winder hatte sein neues Buch über Reinforcement Learning im Gepäck und gab ein Plädoyer dafür ab, warum Reinforcement Learning in den nächsten Jahren im Bereich KI eine zentrale Rolle spielen wird.
- Die Closing Keynote von Juan Venegas beinhaltete weniger etwas für die Hard Skills der Konferenzteilnehmer, sondern für die Soft Skills. Juan zeigte Techniken, wie Daten durch Storytelling und Visualisierung besser präsentiert werden können. Kurzweilig und sehr unterhaltsam – ein perfekter Schlusspunkt einer gelungenen Konferenz!
Elasticsearch ist eine Handelsmarken der Elasticsearch BV, registriert in U.S. und anderen Ländern. Alle Verwendungen des Begriffs Elasticsearch beziehen sich auf diese Handelsmarke und haben lediglich beschreibenden Charakter.