Búsqueda semántica (SQL Server)

Se aplica a:SQL Server

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

¿Qué puede hacer con la búsqueda semántica?

La búsqueda semántica se basa en la característica de búsqueda de texto completo existente en SQL Server, pero permite nuevos escenarios que van más allá de las búsquedas 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  
  

Buscar documentos similares o relacionados

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  
  

Buscar las frases clave que hacen los documentos similares o relacionados

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

Para poder indexar documentos con búsqueda semántica, debe 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 obtener más información sobre la característica FileTable, consulte FileTables (SQL Server). Para obtener información sobre la característica FILESTREAM, que es otra opción para almacenar documentos en la base de datos, consulte FILESTREAM (SQL Server).

Tareas relacionadas

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.

Contenido relacionado

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.