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


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

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

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

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

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

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

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

Important

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

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

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

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

Important

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

Examples

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

В следующем примере извлекаются первые 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

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

В следующем примере извлекаются пять ключевых фраз, которые имеют самую высокую оценку сходства между указанными кандидатами в HumanResources.JobCandidate таблице 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