Ricerca semantica (SQL Server)
Si applica a: 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 quindi usate per identificare e indicizzare documenti simili o correlati.
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. Questi esempi illustrato allo stesso tempo le tre funzioni di set di righe Transact-SQL usate per recuperare gli indici semantici e ottenere i risultati in forma di dati strutturati.
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.
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
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 due documenti.
Questa query chiama la funzione semanticsimilaritytable.
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
Nella query seguente vengono ottenute le frasi chiavi indicanti la somiglianza o la correlazione tra i 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.
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
Per poter indicizzare documenti con la ricerca semantica, è necessario archiviarli in un database di SQL Server.
La funzionalità FileTable in SQL Server consente di inserire 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 funzionalità FileTable, vedi FileTable (SQL Server). Per informazioni sulla funzionalità FILESTREAM, ovvero un'altra opzione per l'archiviazione di documenti nel database, vedi FILESTREAM (SQL Server).
Installare e configurare la 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 tramite la 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.
DDL, funzioni, stored procedure e viste di ricerca semantica
Sono elencati le istruzioni Transact-SQL e gli oggetti di database di SQL Server aggiunti o modificati per supportare la ricerca semantica statistica.