BHARATI:面向古典印度语言的形态感知分词器与子词丰富度分析

arXiv cs.CL 论文

摘要

本文介绍了BHARATI,一组基于SentencePiece BPE的分词器,在针对古典印度语言的平衡多语语料库上训练而成。子词丰富度分析显示,分词效率显著提升,与基线分词器相比,序列长度最多缩短90%,从而提高了下游语言模型的有效上下文长度。

arXiv:2607.23319v1 公告类型: new 摘要: 标准的子词分词算法,如字节对编码(BPE)和SentencePiece,主要在现代语言语料库上训练,应用于古典印度语言时会产生低效的分割。梵语、泰米尔语等古典印度语言具有黏着形态、能产的连音(词边界处的语音融合)以及通用训练数据中缺失的领域特定词汇。本文提出了BHARATI,一组在平衡的781 MB语料库上训练的SentencePiece BPE分词器,涵盖七种语言(英语、印地语、梵语、泰米尔语、泰卢固语、卡纳达语和马拉雅拉姆语),并支持所有语言的本地文字。我们描述了三个连续的分词器版本:v1(仅英语和梵语,对泰米尔语使用损坏的字节回退)、v2(四语言支持,对南方语言使用字节级回退)和v3(完整的七语言本地子词覆盖)。子词丰富度分析表明,v3在每个印度知识系统(IKS)技术术语上平均产生2.6个令牌,而GPT-2的分词器为5.25个令牌,多语言SentencePiece基线为3.75个令牌,最大收益来自一组保留的IKS术语,这些术语在构建时被表示为单个令牌。在一个包含490个IKS领域句子的保留测试集上(每个语言70个句子,涵盖七种语言,与测量脚本一起发布),与GPT-2和字节级编码(缺乏本地印度子词)相比,v3将序列长度减少了约90%;与mBART-50多语言基线相比,在六种印度语言上平均减少了约25%,直接转化为下游语言模型有效上下文长度的增加。分词器模型(32,000词汇量)、训练脚本和评估基准以开放许可发布。
查看原文
查看缓存全文

缓存时间: 2026/07/28 06:28

# BHARATI:面向古典印度语言的形态感知分词器及其子词繁衍力分析  
来源:https://arxiv.org/html/2607.23319  

Poornima Kumaresan¹,², Pavithra Muruganantham¹,², Lakshmi Rajendran¹,², Santhosh Sivasubramani¹,²,\*  
¹Intrinsic Lab, 传感器、仪器与信息物理系统工程中心 (Centre for SeNSE), 印度理工学院德里分校, 新德里 110016, 印度  
²RSL Quantum, FITT, 印度理工学院德里分校, 新德里 110016, 印度  
\*通讯作者。邮箱:[email protected]  

###### 摘要  

标准的子词分词算法如字节对编码 (BPE) 和 SentencePiece 主要在现代语言语料库上训练,应用于古典印度语言时会产生低效的分割。梵语、泰米尔语及其他古典印度语言具有粘着形态、多产的连音(词边界处的音系融合)以及通用训练数据中不存在的领域特定词汇。本文提出了 BHARATI,一组在平衡的 781 MB 语料库上训练的 SentencePiece BPE 分词器,覆盖七种语言(英语、印地语、梵语、泰米尔语、泰卢固语、卡纳达语和马拉雅拉姆语),并支持所有语言的本地文字。我们描述了三个连续的版本:v1(仅英语和梵语,泰米尔语使用退化的字节回退)、v2(四种语言支持,南部语言使用字节级回退)和 v3(完整的七种语言本地子词覆盖)。子词繁衍力分析表明,v3 对印度知识体系 (IKS) 技术术语平均生成 2.6 个分词,而 GPT-2 的分词器平均生成 5.25 个分词,多语言 SentencePiece 基线平均生成 3.75 个分词;最大的收益体现在一组预留的 IKS 术语上,这些术语通过构造被表示为单个分词。在一个包含 490 个 IKS 领域句子(七种语言各 70 句,随测量脚本发布)的保留测试集上,v3 相对于 GPT-2 和字节级编码(它们缺乏本地印度语子词)将序列长度减少了约 90%,相对于 mBART-50 多语言基线减少了约 25%(六种印度语言的平均值),这直接转化为下游语言模型有效上下文长度的增加。分词器模型(32,000 词汇量)、训练脚本和评估基准均以开放许可发布。  

关键词:子词分词、SentencePiece、BPE、印度语言、梵语、泰米尔语、形态分割、繁衍力分析、古典 NLP  

参照图标题图1:BHARATI 分词器流水线的高层概览。从平衡语料库中提取七种语言,经过语言特定的预处理步骤(梵语的连音解析、泰米尔语的后缀边界标记、所有语言的 Unicode 规范化),使用 SentencePiece BPE 训练 32,000 词汇量,并部署为 NanoGPT 模型的生产分词器。图中 850 MB 标签表示去重前的原始语料;实际训练使用表 1 中 781 MB 的去重语料。  

## 1 引言  

子词分词是现代神经语言处理的基础预处理步骤。分词器决定了文本如何被分解为语言模型处理的单元,这种分解的质量直接影响模型容量、训练效率和下游任务性能[1 (https://arxiv.org/html/2607.23319#bib.bib1)]。一个对特定语言生成低效分割的分词器实际上减少了模型对该语言文本的上下文窗口,因为表示相同内容需要消耗更多分词。对于脚本在标准分词器训练语料库中代表性不足的语言,这个问题尤为严重:一个单词可能被分解为十多个字节级片段,每个片段都占据模型定长注意力窗口中的一个位置。  

主流分词方法 BPE[1 (https://arxiv.org/html/2607.23319#bib.bib1)]、WordPiece[2 (https://arxiv.org/html/2607.23319#bib.bib2)] 和 SentencePiece[3 (https://arxiv.org/html/2607.23319#bib.bib3)] 从大型训练语料库的频率统计中推导出子词词汇。当这些语料库以英语和其他欧洲语言为主时,生成的词汇对拉丁字母子词提供密集覆盖,而对其他脚本覆盖稀疏。对于使用婆罗米文字(天城文、泰米尔文、泰卢固文、卡纳达文、马拉雅拉姆文)的印度语言,这种不平衡导致可测量的退化:在英语中本应是单个分词的单词被分解为五到二十个字节级分词,不成比例地消耗模型的上下文窗口[4 (https://arxiv.org/html/2607.23319#bib.bib4)]。问题因婆罗米文字使用复杂的 Unicode 表示而加剧:一个视觉上不可分的字符(akshara)可能需要三到五个 Unicode 码点(辅音、virama、辅音、元音符号、nukta),而字节级分词器将每个码点视为 UTF-8 字节序列,进一步增加了分词数量。  

古典印度语言在脚本覆盖之外还带来额外挑战。梵语具有多产的连音系统,即词边界处的音系变化,将相邻单词融合成表面形式,掩盖了底层形态结构[5 (https://arxiv.org/html/2607.23319#bib.bib5)]。一行梵语诗句可能包含四到五个连音连接点,每个连接点隐藏两个或更多底层单词,因此基于表面形式的分词器无法访问构成语素。泰米尔语具有粘着形态,单个表面形式通过后缀编码整个英语从句的内容。例如,泰米尔语动词形式 "kodukkavillai"("did not give")包含词根 "kodu"(给)、时态标记 "kk"(过去)和否定后缀 "villai"(不),这些都是语言学上独立的语素,但不知形态的分词器将其视为不透明字符串。来自印度知识体系 (IKS) 的领域特定词汇,包括教学技巧(Pada Patha, Jataa Patha)、哲学术语(Advaita, Vishishtadvaita)和文本类别(Shruti, Smriti),在通用分词器训练数据中不存在,因此被分割成无信息的子词片段。  

这种分词低效的实际后果超越了上下文窗口利用率的理论担忧。在 Bodhan 教育 AI 平台中,该平台使用小型语言模型(15M 到 125M 参数)以多种印度语言提供 IKS 领域辅导,分词器质量直接决定完整的教学交互(学生提问、检索上下文、模型回答)是否能放入模型的上下文窗口。使用 GPT-2 分词器,一首带有注释的泰米尔语《蒂鲁古拉尔》诗句大约消耗 850 个分词,留给辅导对话的空间在 2048 分词上下文中微乎其微。因此,领域感知分词的需求不仅是效率问题,更是在印度教育环境中部署语言模型的功能性要求。  

本文提出 BHARATI(Balanced Hierarchical Adaptive Representation for All Text in India),一组在平衡的多语言语料库上训练的 SentencePiece BPE 分词器,旨在为七种语言提供本地子词覆盖。我们描述了从有缺陷的 v1 到生产质量的 v3 的进化过程,提出了一个用于评估分词器在领域特定文本上质量的繁衍力分析框架,并发布了所有模型和评估工具。图1 (https://arxiv.org/html/2607.23319#S0.F1) 展示了端到端流水线。本工作的参考文献通过对 Scopus、Crossref 和 Google Scholar 的系统性查询确定,使用了涵盖“子词分词多语言”、“BPE 印度语言”、“SentencePiece 形态分割”、“梵语计算语言学”及相关表述的十二个搜索词,获得了 240 个候选结果,其中根据与分词、多语言 NLP 和印度语言处理的主题一致性选择了 58 个直接相关来源(42 个来自 Scopus,16 个来自 Crossref)。  

本文的贡献如下。首先,我们提出了 BHARATI v3 分词器,这是一个生产就绪的 32K 词汇量 SentencePiece BPE 分词器,具有七种语言的本地子词覆盖,在 781 MB 平衡语料库¹上训练。第二,我们引入了三层繁衍力分析框架(分词级、术语级和句子级),为评估任何语言中领域特定文本的分词器质量提供了全面且可复制的方法论。第三,我们完整记录了从 v1 到 v3 的版本演化,提供了迭代分词器开发的实证案例研究,展示了每个设计决策的定量影响。第四,我们评估了分词器质量对 NanoGPT 语言模型训练的下游影响,证明分词器的改进直接转化为训练损失降低和词汇利用率提升。  

本文其余部分组织如下。第2节 (https://arxiv.org/html/2607.23319#S2) 回顾了子词分词、多语言分词挑战和领域特定方法的相关工作。第3节 (https://arxiv.org/html/2607.23319#S3) 描述了语料库构建过程。第4节 (https://arxiv.org/html/2607.23319#S4) 详细介绍了分词器训练配置和版本演化。第5节 (https://arxiv.org/html/2607.23319#S5) 展示了繁衍力分析框架和结果。第6节 (https://arxiv.org/html/2607.23319#S6) 分析了跨脚本的词汇分布。第7节 (https://arxiv.org/html/2607.23319#S7) 评估了对语言模型训练的下游影响。第8节 (https://arxiv.org/html/2607.23319#S8) 讨论了权衡、涌现的形态感知和局限性。第9节 (https://arxiv.org/html/2607.23319#S9) 总结贡献。  

> ¹ 公开发布的模型卡报告约 850 MB;该数字反映的是去重和归一化前的原始语料,而 781 MB 是此处使用的去重训练语料。  

## 2 相关工作  

### 2.1 子词分词  

BPE 由 Sennrich 等人 [1 (https://arxiv.org/html/2607.23319#bib.bib1)] 引入神经机器翻译,他们证明了子词分割可以通过从字符序列学习合并操作来处理开放词汇翻译。关键洞察在于,罕见词和未见词可以被表示为子词单元序列,从而消除了固定词汇和未知词标记的需求。SentencePiece [3 (https://arxiv.org/html/2607.23319#bib.bib3)] 将此方法扩展为语言无关框架,直接操作原始文本而不需要预分词,使其适用于没有空格分隔词的语言。SentencePiece 实现在统一框架内提供了 BPE 和 unigram 语言模型两种算法,其基于 protobuf 的模型格式已成为分发训练后分词器的事实标准。  

Wu 等人 [6 (https://arxiv.org/html/2607.23319#bib.bib6)] 为谷歌的多语言系统开发了 WordPiece,使用基于似然的词汇选择标准,选择能够最大化训练数据似然而非仅频率的合并操作。BPE、WordPiece 和 unigram 分词之间的选择一直是大量实证研究的主题。Radford 等人 [7 (https://arxiv.org/html/2607.23319#bib.bib7)] 在 GPT 系列模型中采用 BPE,使其成为自回归语言建模中的主导方法。Devlin 等人 [2 (https://arxiv.org/html/2607.23319#bib.bib2)] 在 BERT 中使用 WordPiece,证明了基于似然的标准产生了略有不同的词汇组成,更倾向于语义连贯的子词。  

Abudouwili 等人 [8 (https://arxiv.org/html/2607.23319#bib.bib8)] 对维吾尔语(一种粘着性突厥语言)的 BPE、WordPiece 和 unigram 分词进行了系统比较,发现 BPE 在形态复杂度级别上产生了最一致的繁衍力,而 unigram 产生了较低的平均繁衍力但方差较高,一些单词获得非常高效的单个分词表示,而另一些则被分解成许多小片段。Phadte 等人 [9 (https://arxiv.org/html/2607.23319#bib.bib9)] 分析了不同分词算法的计算复杂度,证明了当使用高效数据结构(后缀数组或字节对哈希表)时,BPE 训练与语料库大小呈线性缩放,而推理时分词对三种方法而言每个分词都是常数时间。这种可扩展性分析支持了 BHARATI 分词器选择 BPE,因为训练语料库(781 MB)足够大,算法效率很重要。  

### 2.2 多语言分词挑战  

Petrov 等人 [4 (https://arxiv.org/html/2607.23319#bib.bib4)] 量化了分词中的“语言差距”,表明 GPT 系列分词器对非英语语言的等效文本产生的分词数量是英语的 3 到 15 倍。他们的分析覆盖了 52 种语言,并证明了语言在分词器训练数据中的代表性与繁衍力之间的强相关性;在训练数据中缺失的语言几乎完全采用字节级分词。Conneau 等人 [10 (https://arxiv.org/html/2607.23319#bib.bib10)] 表明,平衡的多语言预训练语料库可以减少但不能消除这种差距,即使有意平衡,仍报告有 1.5 倍到 3 倍的残余繁衍力差异。  

对于印度语言,Kunchukuttan 等人 [11 (https://arxiv.org/html/2607.23319#bib.bib11)] 表明,在 IndicNLP 语料库上训练的印度语言专用分词器相对于多语言基线提高了下游任务性能;Kakwani 等人 [12 (https://arxiv.org/html/2607.23319#bib.bib12)] 发现,词汇分配是婆罗米文字语言跨语言迁移的主要因素。代码混合输入进一步对分词器构成压力:据报道,在单语语料库上训练的模型对代码混合文本产生的繁衍力远高于混合训练的分词器 [13 (https://arxiv.org/html/2607.23319#bib.bib13)],这一发现对教育应用有直接影响,因为在学生交互中英语和印度语言的代码混合很常见。Nyalang [14 (https://arxiv.org/html/2607.23319#bib.bib14)] 研究了东北印度语言的分词问题,这些语言中携带语言信息的变音符号经常被缺乏相关脚本惯例暴露的分词器错误处理;同样的失败模式直接适用于梵语中的吠陀重音符号,这促使 BHARATI 在预处理中明确保留这些符号。  

### 2.3 领域特定分词  

领域不匹配对分词质量的影响在生物医学 [15 (https://arxiv.org/html/2607.23319#bib.bib15)] 和法律 [16 (https://arxiv.org/html/2607.23319#bib.bib16)] NLP 中已有记录。Lewis 等人 [17 (https://arxiv.org/html/2607.23319#bib.bib17)] 表明,领域特定的分词器训练改进了专业文本的生成质量。对于古典语言,最接近的先例是关于分词的...

相似文章

分词器移植:缓解边缘高效孟加拉语ASR中的自回归崩溃

arXiv cs.CL

本文提出了一种适用于Moonshine等轻量级ASR模型的分词器移植流程,以解决孟加拉语中的自回归崩溃问题。通过将以英语为中心的分词器替换为BanglaBERT的WordPiece词汇表,词元繁殖度从9.16降至1.30,序列长度减少85.8%,在Lipi-Ghor数据集上实现了21.54%的词错误率(WER)。

跨语言同形词的标记化

arXiv cs.CL

本文研究了多语言分词器如何处理跨语言同形词(不同语言中拼写相同但含义不同的词),并提出了一种轻量级的语言线索干预方法,通过引入语言特定字符来减少分词共享。实验表明,在机器翻译中,特别是在BPE分词下,该方法带来了适度的改进。