Zum Hauptinhalt Zur Navigation Zur Suche

Diamond: Intels Zauber-Suchmaschine

Suchsystem ohne Indexierung als Open Source veröffentlicht. Auf der Veranstaltung "Research at Intel Day" hat der Halbleiterriese im kalifornischen Santa Clara das Suchsystem "Diamond" vorgestellt. Der in Zusammenarbeit mit der Carnegie Mellon Universität (CMU) entwickelte Algorithmus kommt ohne Indexierung aus und soll auf verteilten Rechnersystemen arbeiten – vom Server bis zum Handy.
/ Nico Ernst
10 Kommentare undefined News folgen (öffnet im neuen Fenster)

Herkömmliche Suchsysteme wie etwa Google stützen sich stark auf einen Index: Was nicht in diesem Verzeichnis mit gewichteten Schlagwörtern enthalten ist, wird nicht gefunden. Die Alternative ist, ganze Dateibestände mit Gewalt zu durchsuchen. Um etwa alle Texte auf einer Festplatte mit dem Wort "Golem" zu finden, kann man die Dateien – unabhängig von ihrem Format – auch direkt durchwühlen. Bei kryptischen Dateiformaten oder Archiven klappt das natürlich nicht.

Ein Index muss allerdings ständig auf dem aktuellen Stand gehalten werden, was gerade bei großen Dateibeständen die Systeme verlangsamt. Diamond kann jedoch anhand von Filtern, die auf die Suchmaschine selbst aufgesetzt werden, direkt loslegen. Das System baut dabei aber auch einen Index auf, der auf dem lokalen Gerät gespeichert wird. Dieser Index ist nicht notwendig, um Diamond zu benutzen. Da Diamond auch mit vernetzten Rechnern arbeitet, auf denen ein Diamond-Modul laufen muss, können die Geräte untereinander auf die Indices zugreifen. Sind diese nicht vorhanden, funktioniert die Suche trotzdem. Bei der verteilten Suche sollen die Geräte die Last der Anfragen untereinander dynamisch verteilen. Ist etwa ein Handy per Bluetooth an einen PC angebunden, kann man vom Mobiltelefon aus eine Diamond-Suche starten. Diese erstreckt sich dann vom Handy über den PC und von diesem auf Server.

Das klappt natürlich nur, wenn überall dort Diamond läuft – daher ist die Software auch quelloffen gestaltet und kann leicht portiert werden. Sie steht unter der Eclipse Public License(öffnet im neuen Fenster) (EPL), die kommerzielle Erweiterungen ausdrücklich vorsieht.

amazon Affiliate

Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.

Das Konzept von Diamond erscheint ebenso einfach wie abstrakt – und so beantwortete Diamond-Entwickler Rahul Sukthankar während des Research-Day auch die Frage "Was ist Diamond" nach zwei Tagen noch mit einer Engelsgeduld. Um Diamond zu erklären, haben die Forscher mit "SnapFind" eine Anwendung zum Durchsuchen von Digitalfotos entwickelt. Auf einem älteren Notebook mit Pentium M durchsuchte Diamond nach der Abfrage "Zeige alle Fotos von Menschen mit einem blauen Hemd" nach rund 10 Sekunden alle Bilder aus einem Bestand von rund 2.000 Fotos. Wurde der Index gelöscht, ging das genauso schnell, mit Index waren weitere Suchabfragen deutlich schneller. Zum Einsatz kamen dabei zwei Filter, mit denen das Grundgerüst von Diamond erweitert wurde: das Erkennen von Farben und von Gesichtern.

Beim Herumspielen mit SnapFind zeigte sich, dass Diamond unter anderem mit "early discard" arbeitet: Dem Anwender werden zuerst viele Suchergebnisse präsentiert, aus denen er dann ein Ergebnis (hier: Ein Bild) auswählen kann, auf das die gemeinten Kriterien genau zutreffen. Aus den ersten Ergebnissen werden dann nur noch die gezeigt, die genau passen. Die Reihenfolge der Filter, und das ist eine der Neuerungen, passt Diamond dabei automatisch an. Der Anwender muss also zunächst nur eine vage Vorstellung haben, was er sucht.

Derzeit arbeiten die Entwickler an weiteren Anwendungen. Das Durchsuchen nach formähnlichen 3D-Objekten klappt bereits, eine sehr praxisnahe Anwendung ist auch bereits geplant. Statt in einem Kinofilm zu festgelegten Kapiteln zu suchen, könnte man in einem Teil von "Der Herr der Ringe" auch sagen: "Springe zum nächsten Schwertkampf". Mit einem Audio-Filter kann Diamond dann die Tonspur durchsuchen und dem Nutzer eine Szene anbieten. Ist das kein Schwertkampf, verwirft der Anwender das Ergebnis, Diamond weiß nun, was es nicht finden soll und sucht weiter. Die Wahrscheinlichkeit ist jedoch hoch, dass zunächst zumindest eine Szene mit Schwertern gefunden wird – die markiert man als richtig (die Reihenfolge der Filter ist damit neu festlegt) und als Nächstes erscheinen nur echte Klingenkonflikte. Weitere Anwendungen erstrecken sich vor allem auf den medizinischen Bereich, wo man etwa anhand von Bildähnlichkeiten Krebsformen besser erkennen zu hofft.

Intel hat für Diamond eine eigene Webseite mit ausführlichen Erklärungen(öffnet im neuen Fenster) zusammengestellt. Interessierte Entwickler können sich die Quelltexte samt SnapFind auf der Diamond-Seite(öffnet im neuen Fenster) der CMU herunterladen. Diamond ist bisher ausschließlich für Linux verfügbar und wurde unter den aktuellen Distributionen von Red Hat und Fedora getestet.


Relevante Themen