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


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

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

Поиск схожих или связанных документов

Как найти аналогичные или связанные документы с помощью функции SEMANTICSIMILARITYTABLE

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

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

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

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

Важно!

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

Пример: поиск наиболее важных документов, больше всего схожих с другим документом

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

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

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