gpt4 book ai didi

word-embedding - 如何使用translators.BertTokenizer编码多个句子?

转载 作者:行者123 更新时间:2023-12-03 16:20:54 30 4
gpt4 key购买 nike

我想通过使用transform.BertTokenizer编码多个句子来创建一个小批量。似乎只用一个句子就可以了。如何使它适用于几个句子?

from transformers import BertTokenizer

tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')

# tokenize a single sentence seems working
tokenizer.encode('this is the first sentence')
>>> [2023, 2003, 1996, 2034, 6251]

# tokenize two sentences
tokenizer.encode(['this is the first sentence', 'another setence'])
>>> [100, 100] # expecting 7 tokens

最佳答案

使用tokenizer.batch_encode_plus(documentation)。它将生成一个字典,其中包含input_idstoken_type_idsattention_mask作为每个输入句子的列表:

tokenizer.batch_encode_plus(['this is the first sentence', 'another setence'])
输出:
{'input_ids': [[101, 2023, 2003, 1996, 2034, 6251, 102], [101, 2178, 2275, 10127, 102]], 'token_type_ids': [[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], 'attention_mask': [[1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1]]}
如果只想生成input_id,则必须将 return_token_type_idsreturn_attention_mask设置为False:
tokenizer.batch_encode_plus(['this is the first sentence', 'another setence'], return_token_type_ids=False, return_attention_mask=False)
输出:
{'input_ids': [[101, 2023, 2003, 1996, 2034, 6251, 102], [101, 2178, 2275, 10127, 102]]}

关于word-embedding - 如何使用translators.BertTokenizer编码多个句子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62669261/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com