offset_mapping
是什么offset_mapping是 transformers
库中分词器(tokenizer
)在进行分词操作时返回的一个重要信息,它用于建立原始文本中的字符位置和分词后标记(tokens
)之间的映射关系。借助 offset_mapping
,你能够知晓每个标记在原始文本中对应的字符起始和结束位置,这在很多自然语言处理任务(像问答系统、命名实体识别等)里非常关键。
offset_mapping
是一个元组列表:列表里的每个元组都代表一个标记在原始文本中的字符位置范围,元组的第一个元素是起始字符位置,第二个元素是结束字符位置。[CLS]
、[SEP]
)的映射通常是 (0, 0)
,这表明它们在原始文本里没有对应的字符。下面是一个简单的示例,用来展示如何使用 offset_mapping
:
from transformers import AutoTokenizer
# 加载分词器
tokenizer = AutoTokenizer.from_pretrained('bert-base-uncased')
# 原始文本
text = "Hello, how are you?"
# 进行分词并获取 offset_mapping
encoding = tokenizer.encode_plus(
text,
add_special_tokens=True,
return_offsets_mapping=True
)
# 打印 input_ids 和 offset_mapping
input_ids = encoding['input_ids']
offset_mapping = encoding['offset_mapping']
print("Input IDs:", input_ids)
print("Offset Mapping:", offset_mapping)
# 将 input_ids 转换回 tokens
tokens = tokenizer.convert_ids_to_tokens(input_ids)
# 打印每个 token 及其对应的 offset
for i in range(len(tokens)):
token = tokens[i]
start, end = offset_mapping[i]
print(f"Token: {token}, Offset: ({start}, {end}), Text: {text[start:end]}")
AutoTokenizer.from_pretrained
加载 bert-base-uncased
分词器。offset_mapping
:调用 tokenizer.encode_plus
方法,设置 return_offsets_mapping=True
以获取 offset_mapping
。input_ids
、offset_mapping
以及每个标记对应的字符位置和文本。Input IDs: [101, 7592, 1010, 2129, 2024, 2017, 102]
Offset Mapping: [(0, 0), (0, 5), (5, 6), (7, 10), (11, 14), (15, 18), (0, 0)]
Token: [CLS], Offset: (0, 0), Text:
Token: hello, Offset: (0, 5), Text: Hello
Token: ,, Offset: (5, 6), Text: ,
Token: how, Offset: (7, 10), Text: how
Token: are, Offset: (11, 14), Text: are
Token: you, Offset: (15, 18), Text: you
Token: [SEP], Offset: (0, 0), Text:
从输出可以看出,offset_mapping
清晰地展示了每个标记在原始文本中的字符位置。特殊标记 [CLS]
和 [SEP]
的偏移量为 (0, 0)
,这意味着它们在原始文本中没有对应的字符。而其他标记则对应着原始文本中的具体字符范围。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有