Condividi tramite


Ricerca semantica (SQL Server)

La ricerca semantica statistica fornisce informazioni dettagliate sui documenti non strutturati archiviati nei database SQL Server estraendo e indicizzando frasi chiave statisticamente rilevanti. Le frasi chiave vengono inoltre usate per identificare e indicizzare documenti simili o correlati.

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

Funzionalità della ricerca semantica

La ricerca semantica si basa sulla funzionalità di ricerca full-text esistente in SQL Server, ma consente nuovi scenari che si estendono 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  
  

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  
  

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  
  

Archiviazione di documenti in SQL Server

Prima di poter indicizzare i documenti con Ricerca semantica, è necessario archiviare i documenti in un database SQL Server.

La funzionalità FileTable in SQL Server 2014 rende i file e i documenti non strutturati del database relazionale. Di conseguenza, gli sviluppatori di database possono modificare documenti insieme a dati strutturati in operazioni basate su set Transact-SQL.

Per altre informazioni sulla funzionalità FileTable, vedere FileTables (SQL Server). Per informazioni sulla funzionalità FILESTREAM, un'altra opzione per l'archiviazione di documenti nel database, vedere FILESTREAM (SQL Server).

Attività correlate

Installazione e configurazione della ricerca semantica
Vengono descritti i prerequisiti per la ricerca semantica statistica e viene indicato come installarli o verificarli.

Abilitare la ricerca semantica in tabelle e colonne
Viene descritto come abilitare o disabilitare l'indicizzazione semantica statistica in colonne selezionate contenenti documenti o testo.

Trovare frasi chiave nei documenti mediante ricerca semantica
Viene descritto come individuare le frasi chiave nei documenti o nelle colonne di testo configurati per l'indicizzazione semantica statistica.

Trovare documenti simili e correlati tramite la ricerca semantica
Viene descritto come reperire documenti o valori di testo simili o correlati, nonché informazioni relative alla somiglianza o correlazione, in colonne configurate per l'indicizzazione semantica statistica.

Gestire e monitorare la ricerca semantica
Vengono descritti il processo di indicizzazione semantica e le attività correlate al monitoraggio e alla gestione degli indici.

Contenuto correlato

DDL di ricerca semantica, funzioni, stored procedure e viste
Sono elencati le istruzioni Transact-SQL e gli oggetti di database di SQL Server aggiunti o modificati per supportare la ricerca semantica statistica.