分词(NLP)

简而言之:分词会将文本拆分成称为 token 的更小单元。它几乎是每个 NLP 管道的第一步。

分词是将文本拆分为 token 的过程。一个 token 可以是一个词、一个子词,或单个字符。模型无法直接读取原始文本。它们读取的是数字 token ID 序列。分词会将文本转换为这些 ID。它是自然语言处理的第一步。

分词类型

  1. 词级分词:根据空格和标点符号拆分文本。
  2. 子词分词:将罕见词拆分为更小的已知片段。
  3. 字符级分词:将每个字符都视为一个 token。
  4. 句子分词:将文档拆分为单独的句子。

子词分词的工作原理

现代大型语言模型使用子词分词。常见词会保持完整。罕见词会被拆分成更小的已知片段。这可以保持词表较小,也能优雅地处理未见过的词。字节对编码(BPE)是最常见的方法。

为什么分词很重要

  1. 词表大小:它控制模型大小和处理速度。
  2. 上下文窗口:限制是按 token 衡量的,而不是按词衡量。
  3. 成本:LLM API 定价按 token 收费。
  4. 语言覆盖:糟糕的分词会损害非英语文本质量。

分词与嵌入

分词之后,每个 token 都会映射到一个嵌入。嵌入是模型可以处理的数值向量。请参阅机器学习中的嵌入。Token 嵌入会输入到模型的注意力层。这条管道会将原始文本转换为可供模型使用的数字。

使用合适的数据构建分词器

分词器是在大型、多样化的文本语料库上训练的。数据会决定分词器学习哪些子词。广泛的训练数据可以提升跨语言覆盖能力。Bright Data 的网页抓取工具可收集真实世界的多语言文本。其数据集可为分词器和模型训练提供干净的语料库。

准备好开始了吗?