在大模型(如 GPT、BERT 等)中,处理中文的分词方法与英文有显著不同,因为中文是无空格分隔的语言,且汉字本身是一种复杂的符号体系。以下是中文分词常见的方法及其在大模型中的应用:


1. 无分词(基于字符级别)

  • 方法:将每个汉字视为一个独立的单位,不做任何复杂的分词处理。
    • 例子:
      输入句子:我爱自然语言处理
      分词结果:我 | 爱 | 自 | 然 | 语 | 言 | 处 | 理
  • 优点
    • 简单直接,无需外部词典。
    • 对于罕见词和新词(如专有名词、人名等)鲁棒性较好,因为不会漏掉字符信息。
  • 缺点
    • 丢失了一些词组的语义信息(如“自然语言处理”作为整体比单字更有意义)。
    • 词汇表较大(每个汉字是一个 token),不适合多语言模型。

应用

  • GPT 和 BERT 等模型在某些中文任务中默认采用此方法,尤其是当需要最大化通用性时。

2. 基于词典的分词

  • 方法:借助中文词典,将句子划分为有意义的词汇(即自然语言中常见的单词)。
    • 分词工具:jieba、THULAC、LTP 等。
    • 例子:
      输入句子:我爱自然语言处理
      分词结果:我 | 爱 | 自然语言处理
  • 优点
    • 提取了更高级别的语义信息(如完整的“自然语言处理”)。
    • 分词后词汇量更小,有助于减少词汇表大小。
  • 缺点
    • 依赖词典,不灵活;对新词、罕见词的处理能力有限。
    • 分词结果可能存在歧义(如“长春”和“长春市”)。
  • 改进:可以结合统计学或机器学习的方法(如 HMM 或 CRF)优化词典匹配。

应用

  • 传统 NLP 系统(如基于规则的中文 NLP 任务)更常使用这种方法。
  • 在大模型中很少直接使用,因为其分词结果固定,且难以动态调整。

3. 基于统计的分词方法

  • 方法:利用统计学(如 N-gram 模型)或机器学习(如 HMM、CRF、BiLSTM)方法,根据上下文学习分词边界。
    • 关键原理:通过计算词的频率、共现概率,找到可能的分词点。
    • 例子:
      输入句子:我爱自然语言处理
      分词结果:我 | 爱 | 自然语言 | 处理
  • 优点
    • 更灵活,能自动适应新词。
    • 能处理分词歧义问题。
  • 缺点
    • 需要大量的语料训练模型。
    • 计算复杂度较高。

应用

  • 在传统 NLP 任务中(如机器翻译、文本分类)被广泛使用。
  • 已被预训练模型中更强大的子词分割方法(如 BPE 和 WordPiece)取代。

4. 子词分割方法(BPE、WordPiece、SentencePiece)

  • 方法:将中文句子拆分为子词(subwords),而非单独的汉字或完整的词语。

    • 适用于多语言模型(如 GPT、BERT、mBERT)。
    • 例子:
      输入句子:我爱自然语言处理
      分词结果:我 | 爱 | 自然 | 语言 | 处 | 理(可能根据频率进一步合并为子词)。
  • 关键算法

    • BPE(Byte Pair Encoding)
      • 基于字符或子词的频率统计,逐步合并高频子词单元。
      • 例如,初始为单字“自”“然”“语”“言”,经过多次合并可能生成“自然”。
    • WordPiece
      • 类似 BPE,但基于最大似然估计选择子词分割,更关注语料中的概率分布。
    • SentencePiece
      • 不依赖分词工具,将句子作为一整串字符,直接生成子词单元。
  • 优点

    • 动态、灵活地处理新词和罕见词。
    • 有效控制词汇表大小,适合多语言模型。
    • 在大模型中是主流方法,支持子词的高效建模。
  • 缺点

    • 子词可能丢失一些语义信息。

应用

  • GPT、mBERT、T5、BLOOM 等预训练模型中的核心分词方法。

5. 混合分词(词级分词 + 子词分割)

  • 方法:先对中文句子进行词级分词(例如通过 jieba 分词),然后对每个词进一步应用子词分割方法(如 BPE)。

    • 例子:
      输入句子:我爱自然语言处理
      词级分词:我 | 爱 | 自然语言处理
      子词分割:我 | 爱 | 自然 | 语言 | 处理
  • 优点

    • 结合了词级语义的完整性和子词分割的灵活性。
    • 对 OOV(未登录词)更加鲁棒,同时保留了高频词的语义。
  • 缺点

    • 需要预处理分词结果,增加计算复杂度。
    • 分词依赖的词典或模型可能带来误差。

应用

  • 部分中文优化的大模型或领域特化的中文模型可能会结合这两种方法。

6. 大模型中的实际应用示例

BERT(中文模型)
  • 使用 WordPiece 分词:
    • 每个汉字单独作为一个 token,频率高的子词会被合并,例如“自然语言处理”可能被分为“自然”“语言”“处理”。
    • 未登录的罕见字或词可能被进一步拆分成子词。
  • 中文 BERT 的词表大约 21,128 个 token,涵盖常见汉字及子词。
GPT(中文 GPT 模型)
  • 使用 BPESentencePiece 分词:
    • 以字符为基础,逐步合并高频字符组合,例如“机器学习”可能会分为“机器”“学习”。
    • 对多语言任务更加灵活,能处理不同语言的混合文本。
CLUE模型(中文NLP基准)
  • 使用预训练模型(如BERT、RoBERTa)基于子词分割的分词方法,同时结合中文语料优化分词策略。

7. 基于规则的分词

  • 方法:使用预定义的规则和模式进行分词。这些规则可以基于语言学知识或特定领域的专业知识。
  • 优点
    • 可以根据特定需求进行高度定制。
    • 在特定领域(如法律、医学)中可能表现良好。
  • 缺点
    • 需要大量的人工设计和维护。
    • 对于通用文本和新词的适应性较差。

8. 基于深度学习的分词

  • 方法:使用深度学习模型(如 RNN、LSTM、Transformer)直接进行分词。模型通过学习大量标注数据来预测分词边界。
  • 优点
    • 能够自动学习复杂的语言模式。
    • 在大规模数据上训练后,能处理多种语言现象。
  • 缺点
    • 需要大量标注数据进行训练。
    • 计算资源消耗较大。

9. 基于图的分词

  • 方法:将句子表示为图结构,节点表示可能的词,边表示词之间的连接关系,通过图算法(如最短路径)找到最佳分词方案。
  • 优点
    • 能够有效处理歧义问题。
    • 可以结合统计信息和语言学知识。
  • 缺点
    • 需要构建复杂的图结构。
    • 算法复杂度较高。

10. 基于注意力机制的分词

  • 方法:利用注意力机制(Attention Mechanism)来识别句子中的重要位置和分词点。
  • 优点
    • 能够捕捉长距离依赖。
    • 在上下文中动态调整分词策略。
      -缺点**:
    • 需要复杂的模型架构。
    • 训练和推理时间较长。

11. 基于联合学习的分词

  • 方法:将分词与其他任务(如词性标注、命名实体识别)联合学习,通过共享特征和参数提高分词效果。
  • 优点
    • 能够多任务的互补信息。
    • 提高了模型的泛化能力。
  • 缺点
    • 需要同时标注多种任务的数据。
    • 模型设计和训练更为复杂。

12. 基于词向量的分词

  • 方法:利用词向量(如 Word2Vec、GloVe)对词进行表示,通过相似度和聚类方法进行分词。
  • 优点
    • 能够捕捉词的语义相似性。
    • 对于相似词具有良好的泛化能力。
  • 缺点
    • 需要预训练的词向量。
    • 对于未登录词和新词表现较差。

13. 基于自监督学习的分词

  • 方法:利用自监督学习技术,通过上下文预测、掩码语言模型等方式进行分词。
  • 优点
    • 不需要大量标注数据。
    • 能够从海量无标注数据中学习。
  • 缺点
    • 需要设计合适的自监督任务。
    • 训练过程复杂。

14. 未来的趋势:无分词建模

随着更强大的 Transformer 模型发展,中文 NLP 逐渐向无分词建模(character-level modeling)靠拢,直接对汉字或 Unicode 字符进行处理。这种方法避免了分词带来的不一致性问题,同时可以动态学习上下文语义。

总结

中文分词方法多种多样,各有优缺点。在实际应用中,选择合适的分词方法需要考虑具体的应用场景、数据特点和计算资源。现代大模型(如 BERTGPT)通常采用子词分割方法(如 BPE、WordPiece),但在特定领域或任务中,其他方法也可能提供有价值的补充。随着技术的发展,分词方法也在不断演进,未来可能会出现更多创新的分词技术。
在实际应用中,子词分割方法是中文大模型中的标准选择,因为它能有效处理新词、罕见词,同时控制词汇表大小,适用于现代大规模预训练模型。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐