Partage via


Rechercher des documents similaires ou connexes avec la recherche sémantique

S'applique à : SQL Server

Explique comment rechercher des valeurs textuelles ou des documents similaires ou connexes et donne des informations sur leur similitude, dans des colonnes configurées pour l'indexation sémantique statistique.

Rechercher des documents similaires ou connexes avec SEMANTICSIMILARITYTABLE

Pour identifier des documents similaires ou connexes dans une colonne spécifique, interrogez la fonction semanticsimilaritytable (Transact-SQL).

SEMANTICSIMILARITYTABLE retourne une table de zéro, une ou plusieurs lignes pour les colonnes dont le contenu dans la colonne spécifiée est sémantiquement similaire au document spécifié. Cette fonction d'ensemble de lignes peut être référencée dans la clause FROM d'une instruction SELECT comme un nom de table classique.

Vous ne pouvez pas rechercher des documents similaires dans plusieurs colonnes. La fonction SEMANTICSIMILARITYTABLE récupère uniquement des résultats provenant de la même colonne que la colonne source, qui est identifiée par l’argument source_key .

Pour plus d’informations sur les paramètres requis par la fonction SEMANTICSIMILARITYTABLE et sur la table de résultats qu’elle retourne, consultez semanticsimilaritytable (Transact-SQL).

Important

L'indexation sémantique et de texte intégral doit être activée pour les colonnes que vous ciblez.

Exemple : rechercher les principaux documents qui sont similaires à un autre document

L'exemple suivant récupère les 10 premiers candidats similaires au candidat spécifié par @CandidateID dans la table HumanResources.JobCandidate de l'exemple de base de données AdventureWorks2022.

SELECT TOP(10) KEY_TBL.matched_document_key AS Candidate_ID  
FROM SEMANTICSIMILARITYTABLE  
    (  
    HumanResources.JobCandidate,  
    Resume,  
    @CandidateID  
    ) AS KEY_TBL  
ORDER BY KEY_TBL.score DESC;  
GO  

Rechercher des informations sur la manière dont des documents sont similaires ou connexes avec SEMANTICSIMILARITYDETAILSTABLE

Pour obtenir des informations sur les expressions clés qui rendent des documents similaires ou connexes, vous pouvez interroger la fonction semanticsimilaritydetailstable (Transact-SQL).

SEMANTICSIMILARITYDETAILSTABLE retourne une table de zéro, une ou plusieurs lignes d’expressions clés communes dans deux documents (un document source et un document mis en correspondance) dont le contenu est similaire sémantiquement. Cette fonction d'ensemble de lignes peut être référencée dans la clause FROM d'une instruction SELECT comme un nom de table classique.

Pour plus d’informations sur les paramètres requis par la fonction SEMANTICSIMILARITYDETAILSTABLE, ainsi que sur la table de résultats qu’elle retourne, consultez semanticsimilaritydetailstable (Transact-SQL).

Important

L'indexation sémantique et de texte intégral doit être activée pour les colonnes que vous ciblez.

Exemple : rechercher les principales expressions qui sont similaires entre des documents

L'exemple suivant récupère les 5 expressions clés qui ont le score de similarité le plus élevé parmi les candidats spécifiés dans la table HumanResources.JobCandidate de l'exemple de base de données AdventureWorks2022.

SELECT TOP(5) KEY_TBL.keyphrase, KEY_TBL.score  
FROM SEMANTICSIMILARITYDETAILSTABLE  
    (  
    HumanResources.JobCandidate,  
    Resume, @CandidateID,  
    Resume, @MatchedID  
    ) AS KEY_TBL  
ORDER BY KEY_TBL.score DESC;  
GO