Recherche sémantique (SQL Server)
La recherche sémantique statistique fournit des informations approfondies sur les documents non structurés stockés dans des bases de données SQL Server en extrayant et en indexant des expressions clés pertinentes d’un point de vue statistique. Elle utilise également ces expressions clés pour identifier et indexer des documents similaires ou connexes.
Vous pouvez interroger ces index sémantiques à l'aide de trois fonctions d'ensemble de lignes Transact-SQL pour récupérer les résultats sous forme de données structurées.
À quoi sert une recherche sémantique ?
La recherche sémantique s’appuie sur la fonctionnalité de recherche en texte intégral existante dans SQL Server, mais permet de nouveaux scénarios qui s’étendent au-delà des recherches mot clé. Tandis que la recherche en texte intégral vous permet d’interroger des mots dans un document, la recherche sémantique porte sur la signification du document. Les solutions désormais possibles incluent l'extraction automatique de balises, la découverte de contenu connexe et la navigation hiérarchique à travers du contenu similaire. Par exemple, vous pouvez interroger l'index d'expressions clés afin de générer la taxonomie d'une organisation ou d'un corpus de documents. Ou encore interroger l'index de ressemblance de document pour identifier des curriculum vitae qui correspondent à une description de poste.
Les exemples qui suivent illustrent les fonctions de la recherche sémantique.
Rechercher les expressions clés dans un document
La requête suivante obtient les expressions clés qui ont été identifiées dans le document témoin. Elle présente les résultats par ordre décroissant du score qui indique l'importance statistique de chaque expression clé. Cette requête appelle la fonction 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
Rechercher des documents similaires ou connexes
La requête suivante obtient les documents qui ont été identifiés comme similaires ou en rapport avec le document témoin. Elle présente les résultats par ordre décroissant du score qui indique la similarité des deux documents. Cette requête appelle la fonction 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
Rechercher les expressions clés qui rendent des documents similaires ou connexes
La requête suivante obtient les expressions clés qui rendent les deux documents témoin similaires ou en rapport avec un autre. Elle présente les résultats par ordre décroissant du score qui indique le poids de chaque expression clé. Cette requête appelle la fonction 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
Stockage de documents dans SQL Server
Avant de pouvoir indexer des documents avec la recherche sémantique, vous devez stocker les documents dans une base de données SQL Server.
La fonctionnalité FileTable dans SQL Server 2014 fait des fichiers et documents non structurés des citoyens de première classe de la base de données relationnelle. Par conséquent, les développeurs de base de données peuvent manipuler des documents avec des données structurées dans les opérations reposant sur des ensembles Transact-SQL.
Pour plus d’informations sur la fonctionnalité FileTable, consultez FileTables (SQL Server). Pour plus d’informations sur la fonctionnalité FILESTREAM, qui est une autre option de stockage de documents dans la base de données, consultez FILESTREAM (SQL Server).
Tâches associées
Installer et configurer la recherche sémantique
Décrit les conditions préalables à une recherche sémantique statistique, ainsi que la procédure d'installation ou de vérification de ces conditions.
Activer la recherche sémantique sur les tables et les colonnes
Décrit la procédure d'activation ou de désactivation de l'indexation sémantique statistique sur des colonnes sélectionnées qui contiennent des documents ou du texte.
Rechercher des expressions clés dans les documents avec la recherche sémantique
Explique comment rechercher des expressions clés dans des documents ou des colonnes de texte configurés pour l'indexation sémantique statistique.
Rechercher des documents similaires ou connexes avec la recherche sémantique
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.
Gérer et surveiller la recherche sémantique
Décrit le processus d'indexation sémantique et les tâches associées à l'analyse et à la gestion des index.
Contenu associé
DDL, fonctions, procédures stockées et vues de recherche sémantique
Répertorie les instructions Transact-SQL et les objets de base de données SQL Server ajoutés ou modifiés pour prendre en charge la recherche sémantique statistique.