Tokenizer说明
更新时间:2022-01-25
- 主要包含各任务常用的tokenizer说明。
名称 | 简介 | 备注 |
---|---|---|
FullTokenizer | ERNIE除tiny外专用tokenizer,按照字粒度进行切分 | |
CustomTextFieldReader | 通用非ernie文本(string)类型的分域reader | 文本类型的数据会自动添加padding和mask,并返回length |
GenerateLabelFieldReader | seq2seq模型的标签域的专用分域reader | 自动添加padding,mask,position,task,sentence,并返回length |
ScalarFieldReader | 单个标量的分域reader,直接返回数据本身(数据可以是单个数字,也可以是单个的明文字符,明文通过配置的vocab_path去进行转换) | shape=(batch_size, 1) |
TextFieldReader | 最基本的文本(text)类型的分域reader | 不需要embedding,不需要mask,只返回原始src_id(添加了padding)和length |
ScalarArrayFieldReader | 标量数组的分域reader,直接返回数据本身(数据可以是明文字符串,明文配置的vocab_path去进行转换)和数据长度,以空格分隔。 | 数据是经过padding处理的。 |
如果需要修改任务的tokenizer配置,只需要修改对应任务的json配置文件内的dataset_reader内的fields内的reader内的type字段,这里以cls_cnn_ch.json为例:
{
"dataset_reader": {
"train_reader": {
"name": "train_reader",
"type": "BasicDataSetReader",
"fields": [
{
"name": "text_a",
"data_type": "string",
"reader": {
"type": "CustomTextFieldReader"
},
"tokenizer": {
"type": "CustomTokenizer",
"split_char": " ",
"unk_token": "[UNK]",
"params": null
},
...
}