Share via


Pesquisa semântica (SQL Server)

A Pesquisa Semântica Estatística fornece uma profunda compreensão de documentos não estruturados armazenados em bancos de dados do SQL Server extraindo e indexando frases-chave estatisticamente relevantes. Portanto, essas frases-chave também são usadas para identificar e indexar documentos semelhantes ou relacionados.

Você consulta esses índices semânticos usando três funções de conjunto de linhas do Transact-SQL para recuperar os resultados como dados estruturados.

Neste tópico

  • O que é possível fazer com a pesquisa semântica?

    • Localizar frases-chave em um documento

    • Localizar documentos semelhantes ou relacionados

    • Localizar as frases-chave que tornam documentos semelhantes

  • Armazenando documentos no SQL Server

  • Tarefas relacionadas

  • Conteúdo relacionado

O que é possível fazer com a pesquisa semântica?

A pesquisa semântica tem como base o recurso de pesquisa de texto completo existente no SQL Server, mas habilita novos cenários que ampliam as pesquisas de palavra-chave. Enquanto a pesquisa de texto completo permite que você consulte as palavras em um documento, a pesquisa semântica permite a consulta do significado do documento. Agora, as soluções possíveis incluem a extração automática de marcas, a descoberta de conteúdo relacionado e a navegação hierárquica por conteúdo semelhante. Por exemplo, você pode consultar o índice de frases-chave para criar a taxonomia para uma organização ou para um corpo de documentos. Ou, você pode consultar o índice de similaridade do documento para identificar os currículos que correspondem a uma descrição do trabalho.

Os exemplos a seguir demonstram os recursos da Pesquisa Semântica.

Localizar as frases-chave em um documento

A consulta a seguir obtém as frases-chave que foram identificadas no documento de exemplo. Apresenta os resultados em ordem decrescente pela contagem que classifica a significância estatística de cada frase-chave. Essa consulta chama a função 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

INÍCIO

Localizar documentos semelhantes ou relacionados

A consulta a seguir obtém os documentos que foram identificados como semelhantes ou relacionados ao documento de exemplo. Apresenta os resultados em ordem decrescente pela contagem que classifica a semelhança dos 2 documentos. Essa consulta chama a função 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

INÍCIO

Localizar as frases-chave que tornam documentos semelhantes ou relacionados

A consulta a seguir obtém as frases-chave que tornam os 2 documentos de exemplo semelhantes ou relacionados a outro documento. Apresenta os resultados em ordem decrescente pela contagem que classifica o peso de cada frase-chave. Essa consulta chama a função 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

INÍCIO

Armazenando documentos no SQL Server

Antes de você poder indexar documentos com Pesquisa Semântica, é preciso armazenar os documentos em um banco de dados do SQL Server.

O recurso FileTable no SQL Server 2012 torna arquivos e documentos não estruturados objetos de primeira classe do banco de dados relacional. Como resultado, os desenvolvedores de banco de dados podem manipular documentos junto com dados estruturados em operações baseadas em conjuntos Transact-SQL.

Para obter mais informações sobre o recurso de FileTable, consulte FileTables (SQL Server). Para obter informações sobre o recurso FILESTREAM, que é outra opção para armazenar documentos no banco de dados, consulte FILESTREAM (SQL Server).

INÍCIO

Tarefas relacionadas

Conteúdo relacionado