你是否曾好奇过,人工智能模型是如何理解你输入的句子?
例如,当你询问:
«“我如何学习 Python?”»
人工智能模型并不会像人类那样直接处理整个句子。
在模型能够处理你的文本之前,文本通常需要经过一个称为“分词”的重要步骤。
在本文中,我们将了解:
- 什么是分词
- 为什么人工智能模型使用分词
- 文本如何转换为词元
- 什么是词元和词元 ID
- 分词如何通过代码实现
- 大型语言模型如何使用词元
让我们开始吧!🚀
🧩 什么是分词?
分词是将文本分解为称为“词元”的较小单元的过程。
词元可以是:
- 一个完整的单词
- 单词的一部分
- 标点符号
- 数字
- 特殊符号
例如,句子:
«“我爱编程!”»
可以被拆分为如下词元:
“我”
“爱”
“编程”
“!”
具体的词元取决于人工智能模型所使用的分词器。
分词非常重要,因为人工智能模型处理的是数字,而不是原始的人类文本。
因此,一般流程如下所示:
人类文本
↓
分词
↓
词元
↓
词元 ID
↓
人工智能模型
↓
输出词元
↓
逆分词
↓
人类文本
🤔 为什么人工智能模型需要分词?
计算机并不像人类那样天然地理解单词。
计算机处理的是数值表示形式。
例如,人工智能模型可能会将:
Hello world
转换为类似以下内容:
[15496, 995]
这些数字被称为词元 ID。
然后,模型可以使用数学运算来处理这些数字。
因此,分词充当了以下两者之间的桥梁:
人类语言
↕
分词
↕
数值表示
↕
人工智能模型
🔢 什么是词元 ID?
分词器通常拥有一个包含许多词元的词汇表。
想象一个非常小的词汇表:
词元 ID
hello 10
world 11
I 12
love 13
AI 14
! 15
如果我们输入:
«“I love AI!”»
分词器可以将其转换为:
I → 12
love → 13
AI → 14
! → 15
人工智能模型接收到的内容是:
[12, 13, 14, 15]
现代人工智能模型的真正词汇表比这个简单示例要大得多,也复杂得多。
✂️ 词元并不总是完整的单词
最需要理解的重要一点是,一个词元并不总是一个单词。
一个较长或不常见的单词可能会被拆分为多个词元。
例如:
“unbelievable”(难以置信的)
在概念上可能被拆分为:
“un”
“believ”
“able”
具体的拆分方式取决于分词器。
这种方法很有用,因为模型不需要在其词汇表中存储每一个可能的单词。
相反,它可以组合较小的片段。
例如:
“play”(玩)
“playing”(正在玩)
“played”(玩过)
“player”(玩家)
这些单词共享相似的片段。
分词器可以使用可复用的子词单元来表示单词。
🌍 为什么子词分词很有用
想象一下,你的词汇表只包含完整的单词。
当有人输入一个模型从未见过的单词时,会发生什么?
例如:
«“Supercalifragilisticexpialidocious”»
模型的词汇表中可能没有这个完整的单词。
通过子词
免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。