Поделиться через


Поиск похожих и связанных документов с помощью семантического поиска

Область применения:SQL Server

Описывает процесс поиска схожих или связанных документов или текстовых значений и сведений об их сходстве или связи в столбцах, настроенных для статистического семантического индексирования.

Поиск аналогичных или связанных документов с помощью SEMANTICSIMILARITYTABLE

Чтобы определить аналогичные или связанные документы в определенном столбце, выполните запрос функции semanticsimilaritytable (Transact-SQL).

ФункцияSEMANTICSIMILARITYTABLE возвращает таблицу, состоящую из нуля, одной или нескольких строк, содержимое которых в указанном столбце семантически схоже с заданным документом. На эту функцию набора строк можно ссылаться в предложении FROM инструкции SELECT как на обычное имя таблицы.

Искать схожие документы по разным столбцам невозможно. Функция SEMANTICSIMILARITYTABLE извлекает результаты только из столбца, совпадающего с исходным столбцом, определяемым аргументом source_key .

Подробные сведения о параметрах, необходимых для функции SEMANTICSIMILARITYTABLE, и о таблице возвращаемых результатов см. в разделе semanticsimilaritytable (Transact-SQL).

Внимание

Для целевых столбцов должно быть включено полнотекстовое и семантическое индексирование.

Пример. Поиск верхних документов, похожих на другой документ

В следующем примере извлекаются первые 10 кандидатов, которые похожи на кандидата, указанного @CandidateID из таблицы HumanResources.JobCandidate в образце AdventureWorks2022 базы данных.

SELECT TOP(10) KEY_TBL.matched_document_key AS Candidate_ID  
FROM SEMANTICSIMILARITYTABLE  
    (  
    HumanResources.JobCandidate,  
    Resume,  
    @CandidateID  
    ) AS KEY_TBL  
ORDER BY KEY_TBL.score DESC;  
GO  

Узнайте, как правильно искать сведения о схожести или связи документов с помощью функции SEMANTICSIMILARITYDETAILSTABLE

Чтобы получить сведения о ключевых фразах, которые делают документы похожими или связанными, можно использовать функцию semanticsimilaritydetailstable (Transact-SQL).

Функция SEMANTICSIMILARITYDETAILSTABLE возвращает таблицу из нуля, одной или нескольких строк с ключевыми фразами, общими для двух документов (исходного документа и сопоставленного документа), содержимое которых семантически схоже. На эту функцию набора строк можно ссылаться в предложении FROM инструкции SELECT как на обычное имя таблицы.

Подробные сведения о параметрах, необходимых для функции SEMANTICSIMILARITYDETAILSTABLE, и о таблице возвращаемых результатов см. в разделе semanticsimilaritydetailstable (Transact-SQL).

Внимание

Для целевых столбцов должно быть включено полнотекстовое и семантическое индексирование.

Пример: Найдите основные ключевые фразы, которые похожи в разных документах.

В следующем примере извлекаются 5 ключевых фраз, которые имеют самую высокую оценку сходства между указанными кандидатами в AdventureWorks2022 образца базы данных.

SELECT TOP(5) KEY_TBL.keyphrase, KEY_TBL.score  
FROM SEMANTICSIMILARITYDETAILSTABLE  
    (  
    HumanResources.JobCandidate,  
    Resume, @CandidateID,  
    Resume, @MatchedID  
    ) AS KEY_TBL  
ORDER BY KEY_TBL.score DESC;  
GO