Condividi tramite


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 frasi chiave nei documenti

Procedura: individuare le frasi chiave nei documenti con SEMANTICKEYPHRASETABLE

Per identificare le frasi chiave in documenti specifici o per identificare documenti contenenti frasi chiave specifiche, eseguire una query sulla funzione semantickeyphrasetable (Transact-SQL).

SEMANTICKEYPHRASETABLE restituisce una tabella con zero, una o più righe per le frasi chiave associate alle colonne nella tabella specificata. A questa funzione per i set di righe è possibile fare riferimento nella clausola FROM di un'istruzione SELECT come se fosse un normale nome di tabella.

Nota

In SQL Server 2014 vengono indicizzate solo singole parole per la ricerca semantica; le frasi a più parole (ngram) non vengono indicizzate. Inoltre, varie forme della stessa parola vengono indicizzate separatamente; ad esempio "calcolo" e "calcoli" vengono indicizzati separatamente.

Per informazioni dettagliate sui parametri richiesti dalla funzione SEMANTICKEYPHRASETABLE e sulla tabella dei risultati restituiti, vedere semantickeyphrasetable (Transact-SQL).

Importante

Per le colonne di destinazione deve essere abilitata l'indicizzazione full-text e semantica.

Esempio 1: trovare le principali frasi chiave in un documento specifico

L'esempio seguente recupera le prime 10 frasi chiave dal documento specificato tramite la variabile @DocumentId nella colonna Document della tabella Production.Document del database di esempio AdventureWorks. La variabile @DocumentId rappresenta un valore della colonna chiave dell'indice full-text.

SELECT TOP(10) KEYP_TBL.keyphrase  
FROM SEMANTICKEYPHRASETABLE  
    (  
    Production.Document,  
    Document,  
    @DocumentId  
    ) AS KEYP_TBL  
ORDER BY KEYP_TBL.score DESC;  
GO  

La funzione SEMANTICKEYPHRASETABLE recupera in modo efficiente questi risultati tramite una ricerca nell'indice anziché un'analisi della tabella.

Esempio 2: trovare i documenti principali che contengono una frase chiave specifica

Nell'esempio seguente vengono recuperati i primi 25 documenti che contengono la frase chiave "Bracket" dalla colonna Documento della tabella Production.Document del database di esempio AdventureWorks.

SELECT TOP (25) DOC_TBL.DocumentID, DOC_TBL.DocumentSummary  
FROM Production.Document AS DOC_TBL  
    INNER JOIN SEMANTICKEYPHRASETABLE  
    (  
    Production.Document,  
    Document  
    ) AS KEYP_TBL  
ON DOC_TBL.DocumentID = KEYP_TBL.document_key  
WHERE KEYP_TBL.keyphrase = 'Bracket'  
ORDER BY KEYP_TBL.Score DESC;  
GO