Statistisch semantische Suche

Ja richtig gehört: Statistisch semantische Suche. Ein schönes Wort. In Wikipedia liest man dazu “.. Bedeutung sprachlicher Zeichen..”  Und das triffts auch schon fast. Die statistisch semantische Suche extrahiert relevante Phrasen per Volltextsuche aus Spalten oder Filetables und gewichtet diese.

image

Sehen wir uns mal gewichtete Phrasen eines Dokuments an.

image

Man ganz gut erkennen, dass hier in einem Dokument folgende Begriffe gefunden wurden und je nach Score der eine wohl wichtiger (häufiger) zu sein scheint, als ein anderer. In diesem Beispiel geht es also vermutlichum Workflows, Stichwörter und Sharepoint.

Je höher der Score umso wichtiger. Tatsächlich muss der Begriff nicht als einzelnes Wort vorkommen, sondern durchaus in Kombinationen. In diesen Text geht es beispielsweise auch um Unternehmensstichwörter.

 

Aber wie kommt die statistisch semantische Suche in den SQL Server?

 

Dazu brauchts ein ordentliches Rezept mit folgenden Zutaten: Eine Semantikdatenbank, evtl. das Microsoft Office Filter Paket, die Volltextsuche, ein wenig TSQL und einen Neustart der Volltextsuche.

 

Punkt 1: Semantikdatenbank einbinden

Auf der DVD des SQL Servers findet sich im Verzeichnis 1031_DEU_LPx64Setup die Installationsdatei SemanticLanguageDatabase.msi für die Datenbank. Das Setup entpackt lediglich die Datenbank in ein Verzeichnis. Um die Semantikdatenbank in die SQL Serverinstanz einzubinden, muss die Datenbank noch angefügt werden. Entweder per GUI im SSMS oder per Script. Anschließend die Datenbank für die semantische Suche registrieren.

 

Punkt 2: Office Filter Paket einbinden

Da SQL Server keine aktuellen Office Versionen out-of-the-box supportet,  kann man das schnell ändern indem man sich das Office Filter Paket 2010 downloaded: http://www.microsoft.com/de-de/download/details.aspx?id=17062. Nach der Installation muss das Filterpaket noch der Volltextsuche bekannt gemacht werden.

SemantikDb DB extrahieren (1031_DEU_LPx64Setup)und attachen…..msi-File
CREATE DATABASE semanticsdb ON (FILENAME = C:Microsoft Semantic Language Databasesemanticsdb.mdf) FOR ATTACH

 

und registrieren
EXEC sp_fulltext_semantic_register_language_statistics_db @dbname = Nsemanticsdb;

 

Welche Sprachen werden unterstützt
select * from sys.fulltext_semantic_languages

 

Filterpackage installiert?? Exsitiert für Office 2007 und Office 2010
Aktivieren der iFilter für Volltextsuche

 

Sp_fulltext_service Load_os_resources, 1

Anzeige der indizierbaren Dokumente
select * from sys.fulltext_document_types

 

Nun Steht die Volltextsuche inkl semantischer Suche voll zur Verfügung.

image

In den Volltexteigenschaften der Tabelle nur noch Häkchen setzten und den richtigen Typ wählen.

File_type für den Inhalt der Dokumente. In diesem Screenshot handelt es sich um eine Filetable.

 

 

image

Im nächsten Artikel sehen wir uns dann die speziellen Funktionen zum Thema Semantische Suche an.

Author: Fumus

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert