tokenizer.json 的强类型描述。
TokenizerJson
00 Remarks
normalizer / pre_tokenizer / post_processor / decoder 这四个段落是依据 type 字段区分的多态结构,因此这里保留其原始的 JsonNode 形态,交由 TokenizerFactory 按需构造。
01 Syntax
Microsoft.VisualBasic.Data.NLP.ChineseTokenizer.HuggingFace.TokenizerJson
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| ParseFile | 1 | 解析一个 tokenizer.json 文件。 |
| FromJson | 1 | 从已经解析好的 json 节点构建。 |
| ParseVocab | 1 | 解析词表。 |
| ParseMerges | 1 | 解析 BPE 合并规则。 |
| ParseTokenLiteral | 1 | 读取一个 token 字面值,兼容纯字符串与 AddedToken 对象两种写法。 |
03 Properties
| Name | Overloads | Summary |
|---|---|---|
| AddedTokens | 1 | 追加词表,包含 BOS/EOS/PAD 等特殊 token。 |
| Normalizer | 1 | 归一化器配置节点,未配置时为 Nothing。 |
| PreTokenizer | 1 | 预分词器配置节点,未配置时为 Nothing。 |
| PostProcessor | 1 | 后处理器配置节点,未配置时为 Nothing。 |
| Decoder | 1 | 解码器配置节点,未配置时为 Nothing。 |
| Model | 1 | 子词模型段。 |
04 Members
ParseFile(
String)解析一个 tokenizer.json 文件。
Parameters
| Name | Type | Description |
|---|---|---|
file | String | tokenizer.json 的文件路径。 |
FromJson(JsonNode)
从已经解析好的 json 节点构建。
ParseVocab(JsonNode, ModelSection)
解析词表。
Remarks
BPE 与 WordPiece 的词表是 { "token": id } 形式的对象; Unigram 的词表则是 [ ["token", log_prob], ... ] 形式的数组, 其数组下标即为词表编号。这里对两种形态统一处理。
ParseMerges(JsonNode, ModelSection)
解析 BPE 合并规则。
Remarks
兼容两种格式:旧版的 "A B" 字符串(按第一个空格切分,因为 合并对两侧的 token 自身不会含有空格字符)与新版的 ["A", "B"] 数组。
ParseTokenLiteral(JsonNode)
读取一个 token 字面值,兼容纯字符串与 AddedToken 对象两种写法。
AddedTokens
追加词表,包含 BOS/EOS/PAD 等特殊 token。
Normalizer
归一化器配置节点,未配置时为 Nothing。
PreTokenizer
预分词器配置节点,未配置时为 Nothing。
PostProcessor
后处理器配置节点,未配置时为 Nothing。
Decoder
解码器配置节点,未配置时为 Nothing。
Model
子词模型段。