来自 Huggingface 的变形金刚库
from transformers import BertTokenizer
tb = BertTokenizer.from_pretrained("bert-base-uncased")
tb
不是单词分词器。它有参数 text
和 text_target
。两者有什么区别?您能同时给出功能差异吗?
文档说:
text (str, List[str], List[List[str]], 可选) — 要编码的序列或一批序列。每个序列可以是一个字符串或字符串列表(预标记化字符串)。如果序列作为字符串列表(预标记化)提供,则必须设置 is_split_into_words=True (以消除一批序列的歧义)。
text_target (str, List[str], List[List[str]], 可选) — 要编码为目标文本的序列或一批序列。每个序列可以是一个字符串或字符串列表(预标记化字符串)。如果序列作为字符串列表(预标记化)提供,则必须设置 is_split_into_words=True (以消除一批序列的歧义)。
我不明白上面的描述中两者的区别
Hugging Face 的 Transformers 库中的
BertTokenizer
有两个参数:text
和 text_target
,它们在各种 NLP 任务中具有不同的用途。
text
参数用于需要编码的输入序列,其格式可以是单个字符串、字符串列表或字符串列表列表(对于预标记化输入)。例如,在问答等任务中,text
将是问题,而在翻译中,它将是源语言中的句子。
另一方面,
text_target
参数用于充当标签的目标序列或给定输入序列的所需输出。它的格式也可以是单个字符串、字符串列表或字符串列表的列表。回到上面的任务示例,在问答中,text_target
将是问题的答案,而在翻译中,它将是目标语言中的句子。
这两个参数之间的主要区别在于它们的预期用途。在没有配对序列的任务中,例如简单的文本分类,仅使用
text
参数。然而,在涉及配对序列的任务中,例如问答或翻译,text 和 text_target 都用于对输入和所需的输出序列进行编码。然后模型学习两个序列之间的关系。