Freigeben über


Semantische Suche (SQL Server)

Die statistische semantische Suche liefert einen tiefen Einblick in unstrukturierte Dokumente, die in SQL Server-Datenbanken gespeichert sind, indem statistisch relevante Schlüsselausdrücke extrahiert und indiziert werden. Anschließend werden diese Schlüsselausdrücke verwendet, um ähnliche oder verwandte Dokumente zu identifizieren und zu indizieren.

Sie fragen diese semantischen Indizes mit drei Transact-SQL-Rowsetfunktionen ab, um die Ergebnisse als strukturierte Daten abzurufen.

In diesem Thema

  • Was ist mit der semantischen Suche alles möglich?

    • Suchen von Schlüsselausdrücken in einem Dokument

    • Suchen von ähnlichen oder verwandten Dokumenten

    • Suchen von Schlüsselausdrücken, durch die Dokumente ähnlich sind

  • Speichern von Dokumenten in SQL Server

  • Verwandte Tasks

  • Verwandte Inhalte

Was ist mit der semantischen Suche alles möglich?

Die semantische Suche basiert auf der vorhandenen Volltextsuchfunktion in SQL Server, ermöglicht jedoch neue Szenarien, die über Schlüsselwortsuchen hinausgehen. Während Sie bei der Volltextsuche Wörter in einem Dokument abfragen können, können Sie bei der semantischen Suche die Bedeutung des Dokuments abfragen. Die jetzt möglichen Lösungen umfassen die automatische Tagextraktion, die Ermittlung von verwandten Inhalten sowie die hierarchische Navigation über ähnlichen Inhalt. Sie können beispielsweise den Index von Schlüsselausdrücken abfragen, um die Taxonomie für eine Organisation oder für einen Korpus von Dokumenten zu erstellen. Oder sie können den Dokumentähnlichkeitsindex abfragen, um Lebensläufe zu identifizieren, die einer Arbeitsplatzbeschreibung entsprechen.

In den folgenden Beispielen sind die Funktionen der semantischen Suche dargestellt.

Suchen der Schlüsselausdrücke in einem Dokument

Die folgende Abfrage ruft die Schlüsselausdrücke ab, die im Beispieldokument identifiziert wurden. Sie präsentiert die Ergebnisse in absteigender Reihenfolge nach dem Grad der statistischen Bedeutung der einzelnen Schlüsselausdrücke. Diese Abfrage ruft die semantickeyphrasetable (Transact-SQL)-Funktion auf.

SET @Title = 'Sample Document.docx'

SELECT @DocID = DocumentID
    FROM Documents
    WHERE DocumentTitle = @Title

SELECT @Title AS Title, keyphrase, score
    FROM SEMANTICKEYPHRASETABLE(Documents, *, @DocID)
    ORDER BY score DESC

NACH OBEN

Suchen von ähnlichen oder verwandten Dokumenten

Die folgende Abfrage ruft die Dokumente ab, die als dem Beispieldokument ähnlich oder damit verwandt identifiziert wurden. Sie präsentiert die Ergebnisse in absteigender Reihenfolge nach dem Grad der Ähnlichkeit von zwei Dokumenten. Diese Abfrage ruft die semanticsimilaritytable (Transact-SQL)-Funktion auf.

SET @Title = 'Sample Document.docx'

SELECT @DocID = DocumentID
    FROM Documents
    WHERE DocumentTitle = @Title

SELECT @Title AS SourceTitle, DocumentTitle AS MatchedTitle,
        DocumentID, score
    FROM SEMANTICSIMILARITYTABLE(Documents, *, @DocID)
    INNER JOIN Documents ON DocumentID = matched_document_key
    ORDER BY score DESC

NACH OBEN

Suchen der Schlüsselausdrücke, die Dokumente ähnlich oder verwandt machen

Die folgende Abfrage ruft die Schlüsselausdrücke ab, die zwei Beispieldokumente ähnlich oder verwandt machen. Sie präsentiert die Ergebnisse in absteigender Reihenfolge nach dem Grad, der die Gewichtung der einzelnen Schlüsselausdrücke angibt. Diese Abfrage ruft die semanticsimilaritydetailstable (Transact-SQL)-Funktion auf.

SET @SourceTitle = 'first.docx'
SET @MatchedTitle = 'second.docx'

SELECT @SourceDocID = DocumentID FROM Documents WHERE DocumentTitle = @SourceTitle
SELECT @MatchedDocID = DocumentID FROM Documents WHERE DocumentTitle = @MatchedTitle

SELECT @SourceTitle AS SourceTitle, @MatchedTitle AS MatchedTitle, keyphrase, score
    FROM semanticsimilaritydetailstable(Documents, DocumentContent,
        @SourceDocID, DocumentContent, @MatchedDocID)
    ORDER BY score DESC

NACH OBEN

Speichern von Dokumenten in SQL Server

Bevor Sie Dokumente mit der semantischen Suche indizieren können, müssen Sie die Dokumente in einer SQL Server-Datenbank speichern.

Die FileTable-Funktion in SQL Server 2012 macht unstrukturierte Dateien und Dokument zu so genannten "First Class Citizens" (FCCs) der relationalen Datenbank. Folglich können Datenbankentwickler Dokumente zusammen mit strukturierten Daten in Transact-SQL-basierten Vorgängen bearbeiten.

Weitere Informationen zu der FileTable-Funktion finden Sie unter FileTables (SQL Server). Informationen zur FILESTREAM-Funktion, die eine andere Option zum Speichern von Dokumenten in der Datenbank ist, finden Sie unter FILESTREAM (SQL Server).

NACH OBEN

Verwandte Tasks

Verwandte Inhalte