Tokenize

  1. 安装 PyTorch 和 Transformers

    pip install torch transformers
    
  2. 加载分词器

    from transformers import AutoTokenizer
    
    # 加载分词器
    tokenizer = AutoTokenizer.from_pretrained('bert-base-uncased')
    
  3. 标记化文本

    text = "hello, bert!"
    inputs = tokenizer(text, return_tensors='pt')  # 标记化并存储为 PyTorch Tensor
    print(inputs)  # 输出 Token
    
    {'input_ids': tensor([[  101,  7592,  1010, 14324,   999,   102]]), 'token_type_ids': tensor([[0, 0, 0, 0, 0, 0]]), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1]])}
    

    这里,input_ids 就是我们获得的 token。token_type_ids 在 BERT 中用于区分单句输入和句对输入。attention_mask 表示 token 序列中的有效位置。

  4. 反标记化文本

    decoded_text = tokenizer.decode(inputs['input_ids'][0], skip_special_tokens=False)
    print(decoded_text)
    
    [CLS] hello, bert! [SEP]
    

    注意到这里多了两个标记,[CLS] 表示输入序列的开头,[SEP] 用于分割输入中的两个句子。

posted @ 2025-02-17 22:59  Undefined443  阅读(14)  评论(0)    收藏  举报