Semantische Suchmaschine
# Semantische Suchmaschine

Eine semantische Suchmaschine ist eine Suchmaschine, die natürliche Sprache als Eingabe akzeptiert und versucht, die Semantik einer Frage zu erfassen. Anschließend sucht sie in ihrem Datenbestand, deren Semantik die Suchmaschine (üblicherweise vorab) analysiert hat, nach passenden Antworten. Dabei ist die semantische Suche jedoch nicht auf die natürliche Sprache beschränkt, sondern schließt diese zusätzlich in ihre Verarbeitungsprozesse mit ein. Idealerweise besteht die Antwort dabei aus einzelnen Aussagen statt ganzen Dokumenten, wie bei an Stichworten orientierten Suchmaschinen üblich.

## Bedeutungserschließende Suchmaschinen

Eine Suche beispielsweise nach dem Begriff 'Hits' kann in einer auf Schlüsselbegriffen aufbauenden Suchmaschinen nur solche Webseiten anzeigen, die das gesuchte Wort beinhalten oder auf die mit diesem Begriff verwiesen wird. Eine Suchanfrage nach 'Hits' an eine der bereits existierenden bedeutungserschließenden Suchmaschinen hingegen verwendet zur Suche auch Begriffe, die im Web oft im Zusammenhang mit 'Hits' genannt werden, auch wenn sie in der Anfrage selbst nicht genannt werden (beispielsweise 'mp3', 'Songtexte', 'Musikvideo'), und dementsprechend als Ergebnis auch solche Websites ausgibt, die das ursprünglich gesuchte Wort 'Hits' nicht beinhalten.

## Suchmaschinen mit Verarbeitung natürlichsprachlicher Suchanfragen

In natürlicher Sprache kann der Wechsel nur eines Wortes die Bedeutung der Frage komplett verändern. Beispiel:

* Wann starb Martin Luther King?
* Wie starb Martin Luther King?

Eine rein an Stichworten orientierte Suchmaschine würde für beide Anfragen nahezu die gleichen Fundstellen liefern. Als natürliche Frage verstanden, erzielen die Fragen jedoch deutlich unterschiedliche Antworten. Eine erfolgreiche semantische Suchmaschine erfasst diesen Unterschied und ist in der Lage, als Antwort auf die erste Frage ein Dokument zu liefern, das das Sterbedatum enthält. Im zweiten Fall sollte die Antwort das Attentat in den Vordergrund stellen.

In natürlicher Sprache kann die gleiche Frage in unterschiedliche Worte gekleidet werden. Beispiel:

* Wann starb Martin Luther King?
* An welchem Tag wurde Martin Luther King ermordet?
* Nenne das Todesdatum Martin Luther Kings.

Das Informationsbedürfnis ist bei allen Formulierungen gleich. Eine semantische Suchmaschine sollte daher bei allen die gleiche Antwort präsentieren. Eine an Stichworten orientierte Suchmaschine wird dagegen unterschiedliche Fundstellen präsentieren und ggf. gar keine Treffer finden.

Die Entwicklungen zur Verarbeitung allgemeiner, natürlichsprachlicher Eingaben sind bislang noch auf ziemlich einfache Anfragen, und mehrheitlich auf die Auswertung der englischen Sprache, beschränkt. Beispiel für komplexe (mehrfach bedingte, Verhältnismaße verwendende, und durch Unschärfen gekennzeichnete) Anfragen sind:

* „Zeige mir eine Liste aller Werke deutschsprachiger Schriftsteller, die im Paris des fin de siècle lebten und nach 1850 geboren wurden.“
* „Zeige mir alle Anbieter eines Produktes ähnlich wie XY, welche seit mehr als 5 Jahren auf dem Markt sind, die von ihren Kunden seitdem als überwiegend sehr gut beurteilt wurden, und die, wenn möglich, auch überdurchschnittlich preisgünstig sind.“

Ein anderer Ansatz zur Beantwortbarkeit komplexer, natürlichsprachlicher Fragen verfolgt eine wesentlich stärkere inhaltliche Strukturbildung in einem derzeit inhaltlich noch kaum strukturierten Web (siehe Semantisches Web).

## Beispiele

* Bing, seit 2023 mit integrierter Chat-KI
* Google, speziell mit dem „Knowledge Graph“
* GoPubMed, semantische Suchmaschine für die biomedizinische Domäne
* Swoogle semantische Suchmaschine, die Dokumente, Begriffe und Daten im semantischen Web suchen kann
* Wolfram Alpha, bislang nur in englischer Sprache vorliegende „Antwortmaschine“ des Mathematikers Stephen Wolfram mit Schwerpunkt auf den exakten Wissenschaften
* AskWiki, semantische Suchmaschine für den Datenbestand der deutschsprachigen Wikipedia mit Eingabe der Anfrage per Sprache, 2013 eingestellt
