该论文提出了一种名为 Functionalizer 的无损预分词框架,旨在解决标准子词分词器面临的两难问题:要么将同一单词的不同拼写变体(如 hello、Hello、HELLO、Héllo)视为互不相关的词表条目,从而割裂嵌入空间;要么通过有损归一化丢弃这些变体信息。Functionalizer 在分词前将拼写和结构变化分解为可组合的操作码与操作数前缀流,即以规范基础词元为操作数,前缀以参数化变换操作符,并编码于 Unicode 私有使用区。作者设计了涵盖大小写、变音符号(13 个专用操作码)和字符重复的操作符,且完全可逆。在六个自然语言与代码语料库上的实验表明,该方法在无约束条件下实现完整语料覆盖,并将实际词表槽位需求最多减少 16%。序列长度方面呈现明显的领域依赖权衡:压缩缩进密集的代码序列,却膨胀自然语言散文序列。在 2500 万参数 GPT-2 规模模型上的初步评估显示,该方法大幅提升代码语法有效性并改善代码字符困惑度,同时在散文上保持相近的文本连贯性。
| Functionalizer | 一种无损预分词框架,将单词的拼写和结构变体分解为操作码/操作数前缀流,以减少词汇表碎片化。 |
| Subword Tokenization | 将文本分割成子词单元(如词根、词缀)的文本处理技术,常用于自然语言处理中的词汇表构建。 |
| Opcode/Operand | 操作码表示变换类型(如大写、变音符号),操作数表示基础词元,两者组合以无损编码单词变体。 |
| Unicode Private Use Area | Unicode 标准中保留给自定义字符的码点区域,此处用于编码变换操作码以避免与常规字符冲突。 |
| Lossless Normalization | 在文本处理中,不丢失原始信息(如大小写、变音符号)的归一化方法,与有损归一化相对。 |
📱 每天一份 AI 前沿日报
关注公众号,每天 09:00 推送 · 不错过任何重磅