Búsqueda semántica (SQL Server)

Se aplica a: síSQL Server (todas las versiones admitidas)

La búsqueda semántica estadística proporciona una visión general amplia de los documentos no estructurados almacenados en las bases de datos de SQL Server mediante la extracción e indización de frases clave estadísticamente pertinentes. Después, usa las frases clave para identificar e indizar documentos que son similares o están relacionados.

La búsqueda semántica se basa en la características de búsqueda de texto completo existente de SQL Server, pero habilita nuevos escenarios que van más allá de las búsquedas sintácticas de palabras clave. Mientras que la búsqueda de texto completo permite consultar las palabras de un documento, la búsqueda semántica permite consultar el significado del documento. Las soluciones que ahora son posibles incluyen la extracción automática de etiquetas, la detección de contenido relacionado y la navegación jerárquica en contenido similar. Por ejemplo, puede consultar el índice de frases clave para compilar la taxonomía de una organización o un corpus de documentos. O bien, puede consultar el índice de similitud de documentos para identificar currículos que coincidan con la descripción de un trabajo.

En los ejemplos siguientes se demuestran las capacidades de la búsqueda semántica. Al mismo tiempo, estos ejemplos muestran las tres funciones de conjunto de filas de Transact-SQL que se utilizan para consultar los índices semánticos y recuperar los resultados como datos estructurados.

Buscar las frases clave en un documento

La consulta siguiente obtiene las frases clave que se identificaron en el documento de ejemplo. Muestra los resultados en orden descendente por la puntuación que clasifica la importancia estadística de cada frase clave.

Esta consulta llama a la función 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  
  

La consulta siguiente obtiene los documentos que se identificaron como similares al documento de ejemplo o relacionados con este. Muestra los resultados en orden descendente por la puntuación que clasifica la similitud de los dos documentos.

Esta consulta llama a la función 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  
  

La consulta siguiente obtiene las frases clave que hacen a los dos documentos de ejemplo similares o relacionados entre sí. Muestra los resultados en orden descendente por la puntuación que clasifica el peso de cada frase clave.

Esta consulta llama a la función 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  
  

Almacenar los documentos en SQL Server

Antes de poder indizar documentos con búsqueda semántica, tiene que almacenar los documentos en una base de datos de SQL Server .

La característica FileTable de SQL Server, convierte los archivos y documentos no estructurados en objetos de primera clase de la base de datos relacional. Como resultado, los desarrolladores de bases de datos pueden manipular documentos junto con datos estructurados en operaciones basadas en conjuntos de Transact-SQL.

Para más información sobre la característica FileTable, vea FileTables (SQL Server). Para más información sobre la característica FILESTREAM, que es la opción para almacenar documentos en la base de datos, vea FILESTREAM (SQL Server).

Instalar y configurar la búsqueda semántica
Describe los requisitos previos de la búsqueda semántica estadística y cómo instalarlos o comprobarlos.

Habilitar la búsqueda semántica en tablas y columnas
Describe cómo habilitar o deshabilitar la indización semántica estadística de las columnas seleccionadas que contienen documentos o texto.

Buscar frases clave en documentos con la búsqueda semántica
Describe cómo buscar las frases clave en documentos o columnas de texto configurados para la indización semántica estadística.

Buscar documentos similares y relacionados con la búsqueda semántica
Describe cómo buscar documentos o valores de texto similares e información acerca de su similitud o relación en columnas configuradas para la indización semántica estadística.

Administrar y supervisar la búsqueda semántica
Describe el proceso de indización semántica y las tareas relacionadas con la supervisión y la administración de índices.

DDL de búsqueda semántica, funciones, procedimientos almacenados y vistas
Enumera las instrucciones Transact-SQL y los objetos de base de datos de SQL Server agregados o cambiados para admitir la búsqueda semántica estadística.