Condividi tramite


Ricerca semantica (SQL Server)

La ricerca semantica statistica offre una visione approfondita dei documenti non strutturati archiviati in database di SQL Server tramite l'estrazione e l'indicizzazione di frasi chiave statisticamente pertinenti. Le frasi chiave vengono inoltre utilizzate per identificare e indicizzare documenti simili o correlati.

Per eseguire query sugli indici semantici si utilizzano tre funzioni di set di righe Transact-SQL per recuperare i risultati come dati strutturati.

Contenuto dell'argomento

  • Funzionalità della ricerca semantica

    • Trovare frasi chiave in un documento

    • Trovare documenti simili o correlati

    • Identificare le frasi chiave che indicano la somiglianza dei documenti

  • Archiviazione di documenti in SQL Server

  • Attività correlate

  • Contenuto correlato

Funzionalità della ricerca semantica

La ricerca semantica è basata sulla caratteristica di ricerca full-text esistente di SQL Server, ma consente nuovi scenari che vanno oltre le ricerche di parole chiave. Mentre la ricerca full-text consente di eseguire query sulle parole in un documento, la ricerca semantica consente di eseguire query sul significato del documento. Esempi di soluzioni ora possibili includono l'estrazione automatica dei tag, l'individuazione di contenuto correlato e la navigazione gerarchica in contenuto simile. Ad esempio, è possibile eseguire una query sull'indice di frasi chiave per compilare la tassonomia per un'organizzazione o per una raccolta di documenti. In alternativa, è possibile eseguire una query sull'indice di somiglianza dei documenti per identificare i curriculum che corrispondono a un'offerta di lavoro.

Negli esempi seguenti vengono illustrate le capacità della ricerca semantica.

Trovare frasi chiave in un documento

Nella query seguente vengono ottenute le frasi chiave identificate nel documento di esempio. Presenta i risultati in ordine decrescente in base al punteggio di classificazione della rilevanza statistica di ogni frase chiave. Questa query chiama la funzione semantickeyphrasetable (Transact-SQL).

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

TORNA ALL'INIZIO

Trovare documenti simili o correlati

Nella query seguente vengono ottenuti i documenti identificati come simili o correlati al documento di esempio. Presenta i risultati in ordine decrescente in base al punteggio di classificazione della somiglianza dei 2 documenti. Questa query chiama la funzione semanticsimilaritytable (Transact-SQL).

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

TORNA ALL'INIZIO

Identificare le frasi chiave che indicano la somiglianza o la correlazione dei documenti

Nella query seguente vengono ottenute le frasi chiavi indicanti la somiglianza o la correlazione tra due documenti di esempio. Presenta i risultati in ordine decrescente in base al punteggio di classificazione del peso di ogni frase chiave. Questa query chiama la funzione semanticsimilaritydetailstable (Transact-SQL).

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

TORNA ALL'INIZIO

Archiviazione di documenti in SQL Server

Per poter indicizzare documenti con la ricerca semantica, è necessario archiviarli in un database di SQL Server.

La funzionalità FileTable in SQL Server 2012 consente di inserire perfettamente file e documenti non strutturati nel database relazionale. Di conseguenza, gli sviluppatori di database possono modificare documenti insieme a dati strutturati in operazioni basate su set Transact-SQL.

Per ulteriori informazioni sulla caratteristica FileTable, vedere FileTable (SQL Server). Per informazioni sulla caratteristica FILESTREAM, ovvero un'altra opzione per l'archiviazione di documenti nel database vedere FILESTREAM (SQL Server).

TORNA ALL'INIZIO

Attività correlate

Contenuto correlato