AllenNLP - dataset_reader 变压器配置
AllenNLP - dataset_reader config for transformers
我想使用 bert 进行标记化并为 seq2seq 模型建立索引,到目前为止我的配置文件是这样的:
{
"dataset_reader": {
"type": "seq2seq",
"end_symbol": "[SEP]",
"quoting": 3,
"source_token_indexers": {
"tokens": {
"type": "pretrained_transformer",
"model_name": "bert-base-german-cased"
}
},
"source_tokenizer": {
"type": "pretrained_transformer",
"model_name": "bert-base-german-cased"
},
"start_symbol": "[CLS]",
"target_token_indexers": {
"tokens": {
"namespace": "tokens"
}
},
"target_tokenizer": {
"type": "pretrained_transformer",
"add_special_tokens": true,
"model_name": "bert-base-german-cased"
}
},
稍后当我加载模型并使用 predictor.predict_json
预测句子时,输出如下所示。
'predicted_tokens': ['[CLS]', 'Die', 'meisten', 'Universitäts',
'##abs', '##ch', '##lüsse', 'sind', 'nicht', 'p', '##raxis',
'##orient', '##iert', 'und', 'bereit', '##en', 'die', 'Studenten',
'nicht', 'auf', 'die', 'wirklich', '##e', 'Welt', 'vor', '.', '[SEP]',
'[SEP]', '[SEP]', '[SEP]', '[SEP]', '[SEP]', '[SEP]', '[SEP]',
'[SEP]', '[SEP]', '[SEP]', '[SEP]', '[SEP]', '[SEP]']
我有两个问题:
- 这是正常输出吗(考虑到最后所有的“[SEP]”标记)?还是我在配置文件中做错了什么?
- 是否有任何函数可以将这些标记转换为人类可读的句子?
谢谢
- 请设置
add_special_tokens = False
.
- 使用
tokenizer.convert_tokens_to_string
(将子词标记列表作为输入),其中 tokenizer
指的是您的 DatasetReader 使用的标记器。
如果您还有其他问题,请告诉我们!
我想使用 bert 进行标记化并为 seq2seq 模型建立索引,到目前为止我的配置文件是这样的:
{
"dataset_reader": {
"type": "seq2seq",
"end_symbol": "[SEP]",
"quoting": 3,
"source_token_indexers": {
"tokens": {
"type": "pretrained_transformer",
"model_name": "bert-base-german-cased"
}
},
"source_tokenizer": {
"type": "pretrained_transformer",
"model_name": "bert-base-german-cased"
},
"start_symbol": "[CLS]",
"target_token_indexers": {
"tokens": {
"namespace": "tokens"
}
},
"target_tokenizer": {
"type": "pretrained_transformer",
"add_special_tokens": true,
"model_name": "bert-base-german-cased"
}
},
稍后当我加载模型并使用 predictor.predict_json
预测句子时,输出如下所示。
'predicted_tokens': ['[CLS]', 'Die', 'meisten', 'Universitäts', '##abs', '##ch', '##lüsse', 'sind', 'nicht', 'p', '##raxis', '##orient', '##iert', 'und', 'bereit', '##en', 'die', 'Studenten', 'nicht', 'auf', 'die', 'wirklich', '##e', 'Welt', 'vor', '.', '[SEP]', '[SEP]', '[SEP]', '[SEP]', '[SEP]', '[SEP]', '[SEP]', '[SEP]', '[SEP]', '[SEP]', '[SEP]', '[SEP]', '[SEP]', '[SEP]']
我有两个问题:
- 这是正常输出吗(考虑到最后所有的“[SEP]”标记)?还是我在配置文件中做错了什么?
- 是否有任何函数可以将这些标记转换为人类可读的句子?
谢谢
- 请设置
add_special_tokens = False
. - 使用
tokenizer.convert_tokens_to_string
(将子词标记列表作为输入),其中tokenizer
指的是您的 DatasetReader 使用的标记器。
如果您还有其他问题,请告诉我们!