의미 체계 검색을 사용하여 유사하거나 관련된 문서 찾기Find Similar and Related Documents with Semantic Search

통계적 의미 체계 인덱싱을 위해 구성된 열에서 유사하거나 관련된 문서 또는 텍스트 값을 찾고 유사하거나 연관된 정도에 관한 정보를 찾는 방법에 대해 설명합니다.Describes how to find similar or related documents or text values, and information about how they are similar or related, in columns that are configured for statistical semantic indexing.

특정 열에서 유사하거나 관련된 문서를 식별하려면 semanticsimilaritytable(Transact-SQL) 함수를 쿼리합니다.To identify similar or related documents in a specific column, query the function semanticsimilaritytable (Transact-SQL).

SEMANTICSIMILARITYTABLE 은 지정된 열의 내용이 지정된 문서와 의미상 유사한 0개 이상의 행으로 구성된 테이블을 반환합니다.SEMANTICSIMILARITYTABLE returns a table of zero, one, or more rows whose content in the specified column is semantically similar to the specified document. SELECT 문의 FROM 절에서 이 행 집합 함수를 일반 테이블 이름처럼 참조할 수 있습니다.This rowset function can be referenced in the FROM clause of a SELECT statement like a regular table name.

유사한 문서의 열 간에는 쿼리할 수 없습니다.You cannot query across columns for similar documents. SEMANTICSIMILARITYTABLE 함수는 source_key 인수로 식별된 원본 열과 동일한 열에서만 결과를 검색합니다.The SEMANTICSIMILARITYTABLE function only retrieves results from the same column as the source column, which is identified by the source_key argument.

SEMANTICSIMILARITYTABLE 함수에 필요한 매개 변수와 반환되는 결과 테이블에 대한 자세한 내용은 semanticsimilaritytable(Transact-SQL)을 참조하세요.For detailed information about the parameters required by the SEMANTICSIMILARITYTABLE function, and about the table of results that it returns, see semanticsimilaritytable (Transact-SQL).

중요

대상 열에는 전체 텍스트 및 의미 체계 인덱싱이 사용하도록 설정되어 있어야 합니다.The columns that you target must have full-text and semantic indexing enabled.

Example: Find the top documents that are similar to another document Example: Find the top documents that are similar to another document

다음 예에서는 AdventureWorks2012 예제 데이터베이스의 HumanResources.JobCandidate 테이블에서 @CandidateID 에 지정된 입사 지원자와 유사한 상위 10명의 입사 지원자를 검색합니다.The following example retrieves the top 10 candidates who are similar to the candidate specified by @CandidateID from the HumanResources.JobCandidate table in the AdventureWorks2012 sample database.

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(Transact-SQL) 함수를 쿼리합니다.To get information about the key phrases that make documents similar or related, you can query the function semanticsimilaritydetailstable (Transact-SQL).

SEMANTICSIMILARITYDETAILSTABLE은 의미상 유사한 내용의 두 문서(원본 문서 및 대응 문서) 간에 공통적인 키 구가 있는 0개 이상의 행으로 구성된 테이블을 반환합니다.SEMANTICSIMILARITYDETAILSTABLE returns a table of zero, one, or more rows of key phrases common across two documents (a source document and a matched document) whose content is semantically similar. SELECT 문의 FROM 절에서 이 행 집합 함수를 일반 테이블 이름처럼 참조할 수 있습니다.This rowset function can be referenced in the FROM clause of a SELECT statement like a regular table name.

SEMANTICSIMILARITYDETAILSTABLE 함수에 필요한 매개 변수와 반환되는 결과 테이블에 대한 자세한 내용은 semanticsimilaritydetailstable(Transact-SQL)을 참조하세요.For detailed information about the parameters required by the SEMANTICSIMILARITYDETAILSTABLE function, and about the table of results that it returns, see semanticsimilaritydetailstable (Transact-SQL).

중요

대상 열에는 전체 텍스트 및 의미 체계 인덱싱이 사용하도록 설정되어 있어야 합니다.The columns that you target must have full-text and semantic indexing enabled.

Example: Find the top key phrases that are similar between documents Example: Find the top key phrases that are similar between documents

다음 예에서는 AdventureWorks2012 예제 데이터베이스의 HumanResources.JobCandidate 테이블에서 지정된 입사 지원자 간에 유사성 점수가 가장 높은 5개의 키 구를 검색합니다.The following example retrieves the 5 key phrases that have the highest similarity score between the specified candidates in HumanResources.JobCandidate table of the AdventureWorks2012 sample database.

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