当前位置:首页 > 文章列表 > 科技周边 > 人工智能 > 一文搞懂Tokenization!

一文搞懂Tokenization!

来源:51CTO.COM 2024-04-12 17:36:36 0浏览 收藏

积累知识,胜过积蓄金银!毕竟在科技周边开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《一文搞懂Tokenization!》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

语言模型是对文本进行推理的,文本通常是字符串形式,但模型的输入只能是数字,因此需要将文本转换成数字形式。

Tokenization是自然语言处理的基本任务,根据特定需求能够把一段连续的文本序列(如句子、段落等)切分为一个字符序列(如单词、短语、字符、标点等多个单元),其中的单元称为token或词语。

根据下图所示的具体流程,首先将文本句子切分成一个个单元,然后将单元素数值化(映射为向量),再将这些向量输入到模型进行编码,最后输出到下游任务进一步得到最终的结果。

一文搞懂Tokenization!

文本切分

按照文本切分的粒度可以将Tokenization分为词粒度Tokenization、字符粒度Tokenization、subword粒度Tokenization三类。

1.词粒度Tokenization

词粒度Tokenization是最直观的分词方式,即是指将文本按照词汇words进行切分。例如:

The quick brown fox jumps over the lazy dog.词粒度Tokenized结果:['The', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog', '.']

在这个例子中,文本被切分为一个个独立的单词,每个单词作为一个token,标点符号'.'也被视为独立的token。

中文文本通常会根据照搬词典收录的标准词汇汇编或者是通过分词算法识别出的短语、成语、专有名词等进行切分。

我喜欢吃苹果。词粒度Tokenized结果:['我', '喜欢', '吃', '苹果', '。']

这段中文文本被切分成五个词语:“我”、“喜欢”、“吃”、“苹果”和句号“。”,每个词语作为一个token。

2.字符粒度Tokenization

字符粒度Tokenization将文本分割成最小的字符单元,即每个字符被视为一个单独的token。例如:

Hello, world!字符粒度Tokenized结果:['H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!']

字符粒度Tokenization在中文中是将文本按照每个独立的汉字进行切分。

我喜欢吃苹果。字符粒度Tokenized结果:['我', '喜', '欢', '吃', '苹', '果', '。']

3.subword粒度Tokenization

subword粒度Tokenization介于词粒度和字符粒度之间,它将文本分割成介于单词和字符之间的子词(subwords)作为token。常见的subword Tokenization方法包括Byte Pair Encoding (BPE)、WordPiece等。这些方法通过统计文本数据中的子串频率,自动生成一种分词词典,能够有效应对未登录词(OOV)问题,同时保持一定的语义完整性。

helloworld

假设经过BPE算法训练后,生成的子词词典包含以下条目:

h, e, l, o, w, r, d, hel, low, wor, orld

子词粒度Tokenized结果:

['hel', 'low', 'orld']

这里,“helloworld”被切分为三个子词“hel”,“low”,“orld”,这些都是词典中出现过的高频子串组合。这种切分方式既能处理未知词汇(如“helloworld”并非标准英语单词),又保留了一定的语义信息(子词组合起来能还原原始单词)。

在中文中,subword粒度Tokenization同样是将文本分割成介于汉字和词语之间的子词作为token。例如:

我喜欢吃苹果

假设经过BPE算法训练后,生成的子词词典包含以下条目:

我, 喜, 欢, 吃, 苹, 果, 我喜欢, 吃苹果

子词粒度Tokenized结果:

['我', '喜欢', '吃', '苹果']

在这个例子中,“我喜欢吃苹果”被切分为四个子词“我”、“喜欢”、“吃”和“苹果”,这些子词均在词典中出现。虽然没有像英文子词那样将汉字进一步组合,但子词Tokenization方法在生成词典时已经考虑了高频词汇组合,如“我喜欢”和“吃苹果”。这种切分方式在处理未知词汇的同时,也保持了词语级别的语义信息。

索引化

假设已有创建好的语料库或词汇表如下。

vocabulary = {'我': 0,'喜欢': 1,'吃': 2,'苹果': 3,'。': 4}

则可以查找序列中每个token在词汇表中的索引。

indexed_tokens = [vocabulary[token] for token in token_sequence]print(indexed_tokens)

输出:[0, 1, 2, 3, 4]。

文中关于AI,语言模型的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《一文搞懂Tokenization!》文章吧,也可关注golang学习网公众号了解相关技术文章。

版本声明
本文转载于:51CTO.COM 如有侵犯,请联系study_golang@163.com删除
AWS PutItem 未在数据库中创建条目AWS PutItem 未在数据库中创建条目
上一篇
AWS PutItem 未在数据库中创建条目
构建 golang,包括 firebase 凭证文件 .json
下一篇
构建 golang,包括 firebase 凭证文件 .json
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • PubMedQA数据集详解:生物医学问答基准、功能与应用指南
    PubMedQA
    深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
    371次使用
  • H2O EvalGPT:开源LLM大模型评估与排行榜工具
    H2O EvalGPT
    H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
    440次使用
  • LMArena是什么?伯克利AI模型评估平台使用指南与功能解析
    LMArena
    LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
    448次使用
  • 斯坦福HELM:大语言模型Holistic Evaluation整体评估框架详解
    HELM
    深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
    393次使用
  • MMBench详解:多模态大模型基准测试、功能特点与使用指南
    MMBench
    MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
    218次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议 和 隐私政策
返回登录
  • 重置密码