Back to top

Big Data-Architektur für die Suche

Von Kamran Khan, CEO Search Technologies

„Big Data“ bietet das Potenzial, die Art und Weise zu verändern, wie wir Geschäfte machen. Wir bei Search Technologies sind darauf spezialisiert, mit unstrukturiertem Content zu arbeiten. Wir nehmen diesen von Menschen generierten Content, bereiten ihn vor, analysieren ihn und verbinden die daraus gewonnenen Einblicke mit strukturierten, maschinenerstellten Daten. 

Heutzutage wird so viel über Big Data geredet, dass selbst ich schon mit den Augen rolle, wenn der Begriff im Titel einer Präsentation auftaucht. Daher hoffe ich, dass es mir niemand übel nimmt, dass auch ich den Begriff im Titel nutze – lest bitte weiter, mein Ziel ist es, eine praktische Anwendung für diese Technologien zu beschreiben.

Unser Hauptgeschäft ist es, Kunden zu helfen, ihre Suchsysteme zu optimieren. 

Das schrittweise Verschmelzen von Technologien der Unternehmenssuche mit denen des Big Data ist aber kein Austausch in nur einer Richtung. Natürlich sind die Technologien und Fähigkeiten, die Experten der Unternehmenssuche in mehr als zwei Jahrzehnten aufgebaut haben, kritisch für eine effektive Nutzung von unstrukturiertem Content in Big Data-Anwendungen. 

Aber bei Search Technologies blicken wir auch in die andere Richtung. Wie kann Big Data uns helfen, die Suchsysteme zu verbessern?

 

EINFÜHRUNG IN BIG DATA

Als Unternehmen haben wir Big Data schon vor einigen Jahren für uns entdeckt. Wir wollten zuerst noch vermeiden, einer Mode zu folgen und direkt auf den Big Data-Zug mit aufzuspringen. Stattdessen haben wir uns gezielt Fragen gestellt, wie etwa: „Wie kann die Technologie des Big Data uns helfen, unseren Kunden mehr zu bieten?“

Der Gedanke des Big Data kommt ursprünglich von transaktionalen Datenquellen, wie etwa den Log-Dateien von Websites. Unternehmen für Business Intelligence und Data Warehouses arbeiten bereits seit Jahrzehnten damit. Im ersten Jahrzehnt dieses Jahrtausends haben Unternehmen wie Google und Amazon festgestellt, dass in ihren Log-Dateien wertvolle Informationen versteckt liegen, die durch Analyse erschlossen werden können. Google hat dafür eine Technik namens Map/Reduce entwickelt. Doug Cutting, jetzt bei Cloudera, hat die Idee aufgegriffen und ein Open-Source-System entwickelt, Hadoop. Kurz gesagt können damit große Probleme in viele kleine Probleme unterteilt, dann auf verteilter Hardware verarbeitet und schließlich wieder zusammengesetzt werden. Wenn man dies mit den Möglichkeiten der elastischen Verfügbarkeit von Rechenleistung durch Amazon Web Services (AWS) oder ähnliche Anbieter kombiniert, hat man eine Plattform, mit der große Probleme angegangen werden können, und die vor allem jedem zur Verfügung steht.

 

GROSSE PROBLEME IN DER SUCHE ANSPRECHEN

Also, was sind die „großen Probleme“ bei der Suche? 

Wenn man Benutzer von Systemen der Unternehmenssuche fragt, werden sie wahrscheinlich über schlechte Relevanz klagen, über mangelhaften Zugriff auf wichtige Contentquellen. Wenn man eine IT-Fachkraft fragt, wird diese vielleicht über mangelhafte Flexibilität klagen, die nötig ist, um das System an die sich stets ändernden Bedingungen unserer schnellebigen Welt anzupassen. 

Wenn man uns fragt (und wir haben alleine in den letzten vier Jahren mehr als 50.000 Beratertage für Consulting und Implementierung bei Hunderten von Kunden geleistet), wir würden die Content-Verarbeitung als wichtigsten Punkt herausstellen. Damit ist die Analyse und Vorbereitung von Content gemeint, ehe dieser für die Suchmaschine indexiert wird. Dieser wichtige Bereich im Aufbau der Suchsysteme wird oft vernachlässigt. Die oben erwähnten Probleme, wie schlechte Relevanz der Ergebnisse, können oft durch angemessene Content-Verarbeitung gelöst werden. Fast alle coolen Optionen in Benutzeroberflächen, die von den Benutzern so geliebt werden, wie etwa die Optionen der Suchnavigation, basieren auf Metadaten, die während der Content-Verarbeitung erfasst, abgeleitet oder generiert wurden.

Wir sind davon überzeugt, dass die wichtigsten Verbesserungen bei Suchrelevanz und Nützlichkeit der Suchmaschinen in den nächsten Jahren durch Innovationen auf dem Bereich der Content-Verarbeitung aufkommen werden. Damit sind fortgeschrittene Techniken der statistischen Analyse, Latent Semantic Indexing, Verknüpfung von Links und Zitaten, verbesserte Erkennung von beinahe-Duplikaten und ähnliche Techniken gemeint. 

 

WIE KANN BIG DATA HELFEN?

Also, wie kann ein Tool wie Hadoop uns dabei helfen? 

Zuerst einmal ermöglicht das Tool uns, tieferreichende, fortgeschrittene Analysetechniken einzusetzen. Für die Content-Verarbeitung ist eine Analyse auf Tokenebene (Wortebene) notwendig. Ein typischer Korpus eines Unternehmens umfasst über zehn Millionen Dokumente, mit Milliarden Token, und Berechnungen, die enorme Mengen Querverweise zwischen Elementen umfassen. All dies gehört in den Bereich von Big Data. 

Als Zweites können wir die Flexibilität für die Entwicklung und Wartung von Suchsystemen deutlich steigern. Vergleichen wir kurz eine traditionelle, integrierte Sucharchitektur mit einem auf Hadoop basierenden, auf Content-Verarbeitung konzentrierten Ansatz.

In diesem Ansatz braucht die Content-Verarbeitung viele Durchgänge, bis alles korrekt indexiert ist. Änderungen an der Index-Pipeline oder am System für die Content-Verarbeitung bedeuten meist, dass erneut indexiert werden muss. Aber bei einer typischen Unternehmenssuche würde es Wochen dauern, diese mehr als zehn Millionen Dokumente neu zu indexieren. Der gesamte Content müsste erneut von Crawlern aus verschiedenen Repositories erfasst werden. Die Geschwindigkeit, mit der Content aus diesen Repositories gewonnen werden kann, ist meist der größte einschränkende Faktor.

Mit unserer neuen Architektur können wir einen sicheren Cache des Contents in Hadoop erstellen und diesen Cache immer dann aktualisieren, wenn Dokumente im Korpus aktualisiert werden. Diese einfache Änderung reduziert die Zeit, die für die erneute Indexierung benötigt wird, von Wochen auf Stunden. Damit wird die Entwicklung stark beschleunigt, Geld wird gespart und die Entwicklung besserer Algorithmen wird ermöglicht. 

Hier ein paar Beispiele dafür:

Wir haben einen Kunden, der einen Datensatz mit 90 Millionen Patenten besitzt. Querverweise für die Zitatanalyse und andere fortgeschrittene Vergleichszwecke erfordern aufwändige Content-Verarbeitung. Das Ergebnis ist jedoch eine reichhaltigere, relevantere und substanziell produktivere Sucherfahrung für die Benutzer. 

Ein anderer Kunde ist ein Personaldienstleister, der auf statistische Art freie Stellenangebote mit einer Datenbank mit Millionen Lebensläufen abgleicht und einen Übereinstimmungsgrad berechnen lässt. Hierbei werden viele Faktoren bedacht, wie die geografische Nähe, Gehaltsvorstellungen, Fähigkeiten und Arbeitserfahrung. Hier konnten deutliche Anstiege in der Produktivität der professionellen Personaldienstleister geboten werden.

 

Eine flexible Architektur

Aber diese Architektur bietet nicht nur eine Plattform, auf der bessere Suchsysteme erstellt werden können, sie kann auch Dienste für die Content-Verarbeitung bieten (wie etwa die Normalisierung, Bereinigung und Anreicherung von unstrukturiertem Content), die von Anwendungen für Business Insight genutzt werden. All dies kommt, weil wir die Aufgaben der Content-Verarbeitung von der zentralen Suchmaschine ausgelagert haben, so dass sie mit jeder Anwendung zusammenarbeiten kann. Wir bezeichnen dies als „Struktur ins Unstrukturierte bringen“.

Eine Schicht für die Content-Verarbeitung, die von der Anwendung unabhängig ist und Hadoop einsetzt, wird unserer Meinung nach in der nahen Zukunft ein unverzichtbarer Bestandteil jeder Infrastruktur sein. Denkt an unsere Worte! 

 

Kamran. 

0