주요 콘텐츠

encode

트랜스포머 신경망을 위해 텍스트 토큰화 및 인코딩

R2023b 이후

    설명

    [tokenCodes,segments] = encode(tokenizer,str)은 지정된 토큰 추출기를 사용하여 str의 텍스트를 토큰화하고 인코딩한 다음 토큰 코드와 세그먼트를 반환합니다. 이 구문은 채우기 토큰, 시작 토큰, 알 수 없는 토큰, 구분자 토큰을 자동으로 입력에 추가합니다.

    예제

    [tokenCodes,segments] = encode(tokenizer,str1,str2)는 문장 쌍 str1,str2를 토큰화하고 인코딩합니다. 이 구문은 채우기 토큰, 시작 토큰, 알 수 없는 토큰, 구분자 토큰을 자동으로 입력에 추가합니다.

    ___ = encode(___,AddSpecialTokens=tf)는 채우기 토큰, 시작 토큰, 알 수 없는 토큰, 구분자 토큰을 자동으로 입력에 추가할지 여부를 지정합니다.

    예제

    모두 축소

    bert 함수를 사용하여, 사전 훈련된 BERT-Base 신경망과 그에 대응하는 토큰 추출기를 불러옵니다.

    [net,tokenizer] = bert;

    토큰 추출기를 표시합니다.

    tokenizer
    tokenizer = 
      bertTokenizer with properties:
    
            IgnoreCase: 1
          StripAccents: 1
          PaddingToken: "[PAD]"
           PaddingCode: 1
            StartToken: "[CLS]"
             StartCode: 102
          UnknownToken: "[UNK]"
           UnknownCode: 101
        SeparatorToken: "[SEP]"
         SeparatorCode: 103
           ContextSize: 512
    
    

    encode 함수를 사용하여 텍스트 "Bidirectional Encoder Representations from Transformers"를 토큰화하고 인코딩합니다.

    str = "Bidirectional Encoder Representations from Transformers";
    [tokenCodes,segments] = encode(tokenizer,str);

    토큰 코드를 표시합니다.

    tokenCodes
    tokenCodes = 1×1 cell array
        {[102 7227 7443 7543 2390 4373 16045 2100 15067 2014 19082 103]}
    
    

    세그먼트를 표시합니다.

    segments
    segments = 1×1 cell array
        {[1 1 1 1 1 1 1 1 1 1 1 1]}
    
    

    입력 인수

    모두 축소

    토큰 추출기로, bertTokenizer 객체 또는 bpeTokenizer 객체로 지정됩니다.

    입력 텍스트로, string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

    예: ["An example of a short sentence."; "A second short sentence."]

    데이터형: string | char | cell

    입력 문장 쌍으로, 동일한 크기의 string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

    str1str2를 지정하면, 이 함수는 결합된 토큰 코드를 반환합니다. 어느 입력이 각 토큰 코드에 대응되는지 식별하려면 segments 출력 인수를 사용하십시오.

    데이터형: char | string | cell

    채우기 토큰, 시작 토큰, 알 수 없는 토큰, 구분자 토큰을 입력에 추가하는 플래그로, 1(true) 또는 0(false)으로 지정됩니다.

    출력 인수

    모두 축소

    토큰 코드로, 양의 정수의 벡터로 구성된 셀형 배열로 반환됩니다. 토큰 코드는 토큰 추출기 단어집의 요소를 참조합니다.

    데이터형: cell

    세그먼트 인덱스로, 양의 정수의 벡터로 구성된 셀형 배열로 반환됩니다.

    세그먼트는 어느 입력 토큰이 어느 입력에 대응되는지 나타냅니다. 셀형 배열의 각 요소 s에서, 값 s(i)는 어느 입력이 tokenCodes(i)에 대응되는지 나타냅니다. 단일 문자열을 입력으로 지정하면 segments의 각 요소는 1로 구성된 배열입니다.

    데이터형: cell

    알고리즘

    모두 축소

    참고 문헌

    [1] Devlin, Jacob, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. "BERT: Pre-Training of Deep Bidirectional Transformers for Language Understanding" Preprint, submitted May 24, 2019. https://doi.org/10.48550/arXiv.1810.04805.

    [2] Wu, Yonghui, Mike Schuster, Zhifeng Chen, Quoc V. Le, Mohammad Norouzi, Wolfgang Macherey, Maxim Krikun et al. "Google's Neural Machine Translation System: Bridging the Gap Between Human and Machine Translation." Preprint, submitted October 8, 2016. https://doi.org/10.48550/arXiv.1609.08144

    버전 내역

    R2023b에 개발됨