주요 콘텐츠

documentEmbedding

문서를 벡터로 매핑하는 문서 임베딩 모델

R2024a 이후

    설명

    문서 임베딩은 문서를 실수형 벡터에 매핑합니다.

    벡터는 유사한 문서들이 유사한 벡터를 갖도록 전체 문서의 의미적 내용을 캡처합니다. 문서는 문장, 단락 또는 길이가 더 긴 텍스트일 수 있습니다.

    생성

    documentEmbedding을 사용하여 사전 훈련된 임베딩에서 문서 임베딩을 만듭니다.

    설명

    emb = documentEmbedding은 all-MiniLM-L6-v2 문장 트랜스포머 모델을 사용하여 문서 임베딩을 반환합니다.

    이 함수를 사용하려면 Deep Learning Toolbox™가 필요합니다.

    예제

    emb = documentEmbedding(Model=modelName)Model 이름-값 인수로 지정된 문서 임베딩 모델을 반환합니다.

    입력 인수

    모두 확장

    모델 이름으로, 다음 값 중 하나로 지정됩니다.

    • "all-MiniLM-L6-v2"— 6개의 셀프 어텐션 계층을 갖는 문장 트랜스포머 모델. 이 모델은 1×384 임베딩 벡터를 출력합니다. 이 옵션을 사용하려면 Text Analytics Toolbox™ Model for all-MiniLM-L6-v2 Network 지원 패키지가 필요합니다.

    • "all-MiniLM-L12-v2"— 12개의 셀프 어텐션 계층을 갖는 문장 트랜스포머 모델. 이 모델은 1×384 임베딩 벡터를 출력합니다. 이 옵션을 사용하려면 Text Analytics Toolbox Model for all-MiniLM-L12-v2 Network 지원 패키지가 필요합니다.

    필요한 지원 패키지가 설치되어 있지 않으면 함수에서 다운로드 링크를 제공합니다.

    객체 함수

    embedMap document to embedding vector

    예제

    모두 축소

    documentEmbedding 함수를 사용하여 사전 훈련된 문서 임베딩 all-MiniLM-L6-v2를 불러옵니다. 이 모델을 사용하려면 Text Analytics Toolbox™ Model for all-MiniLM-L6-v2 Network 지원 패키지가 필요합니다. 이 지원 패키지가 설치되어 있지 않으면 함수에서 다운로드 링크를 제공합니다.

    emb = documentEmbedding;

    입력 문서로 구성된 배열을 만듭니다.

    documents = [
        "the quick brown fox jumped over the lazy dog"
        "the fast brown fox jumped over the lazy dog"
        "the lazy dog sat there and did nothing"];

    embed 함수를 사용하여 입력 문서를 벡터로 매핑하기

    embeddedDocuments = embed(emb,documents);

    문서들이 얼마나 유사한지 추정하기 위해, cosineSimilarity를 사용하여 쌍별 코사인 유사도를 계산합니다.

    similarities = cosineSimilarity(embeddedDocuments)
    similarities = 3×3
    
        1.0000    0.9840    0.5505
        0.9840    1.0000    0.5524
        0.5505    0.5524    1.0000
    
    

    참고 문헌

    [1] Reimers, Nils, and Iryna Gurevych. "Sentence-BERT: Sentence Embeddings Using Siamese BERT-Networks" Preprint, submitted August 27, 2019. https://doi.org/10.48550/arXiv.1908.10084.

    버전 내역

    R2024a에 개발됨