Share via


Búsqueda semántica (SQL Server)

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. Entonces también usa las frases clave para identificar e indizar documentos que son similares o están relacionados.

Estos índices semánticos se consultan usando tres funciones de conjuntos de filas de Transact-SQL para recuperar los resultados como datos estructurados.

En este tema

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

    • Buscar frases clave de un documento

    • Buscar documentos similares o relacionados

    • Identificar las frases clave que hacen similares a los documentos

  • Almacenar documentos en SQL Server

  • Tareas relacionadas

  • Contenido relacionado

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

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.

Buscar frases clave de 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 (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

ARRIBA

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

ARRIBA

Buscar frases clave que hacen a los documentos similares o relacionados.

La consulta siguiente obtiene las frases clave que hacen a los 2 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 (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

ARRIBA

Almacenar 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 2012, 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 acerca de la característica FileTable, vea FileTables (SQL Server). Para obtener información acerca de la característica FILESTREAM, que es la opción para almacenar documentos en la base de datos, vea FILESTREAM (SQL Server).

ARRIBA

Tareas relacionadas

Contenido relacionado