分词的艺术:为AI拆解文本

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

什么是分词?

在计算机科学中,我们将像英语和中文这样的人类语言称为“自然语言”,而与计算机交互的语言,如汇编语言(Assembly)和LISP,则被称为“机器语言”,这些语言遵循严格的语法规则,几乎没有任何解读的余地。计算机擅长处理高度结构化的机器语言,但在人类语言的复杂性面前往往表现不佳。

语言,尤其是文本,构成了我们大部分的交流和知识存储。例如,互联网上的大部分内容都是文本。像ChatGPT、Claude和Llama这样的大型语言模型是通过处理海量的文本数据训练而成的,这些文本数据几乎涵盖了互联网上所有可用的文本,使用了复杂的计算技术。然而,计算机并不直接处理文字或句子,它们依赖于数字运算。那么,如何填补人类语言与机器理解之间的鸿沟呢?

这就是自然语言处理(NLP)发挥作用的地方。NLP是一个结合了语言学、计算机科学和人工智能的领域,旨在让计算机理解、解释和生成人类语言。不管是将文本从英语翻译成法语,还是总结文章,亦或是进行对话,NLP使得机器能够从文本输入中生成有意义的输出。

在NLP中,处理原始文本的第一个关键步骤是将其转换为计算机能够有效处理的格式,这个过程被称为分词(tokenization)。分词是将文本拆分为较小的、易于管理的单位,称为“词元”(tokens),这些词元可以是单词、子词,甚至是单个字符。以下是分词的典型工作流程:

  1. 标准化:在进行分词之前,文本首先要进行标准化,以确保一致性。这可能包括将所有字母转换为小写,去除标点符号,以及应用其他归一化技术。
  2. 分词:标准化后的文本被拆分为词元。例如,句子 “The quick brown fox jumps over the lazy dog” 可以分词成以下单词:
    ["the", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"]
  3. 数值表示:由于计算机只能处理数字数据,每个词元接下来会被转换为数值表示。这可以是为每个词元分配一个唯一标识符,或者更复杂的方式是为词元创建多维向量,表示其含义和上下文。

文本标准化

我们来看看这两句话:

  1. “dusk fell, i was gazing at the Sao Paulo skyline. Isnt urban life vibrant??”
  2. “Dusk fell; I gazed at the São Paulo skyline. Isn't urban life vibrant?”

从表面上看,这两句话传达的含义相似。然而,计算机在处理这些句子时,尤其是在分词或编码时,可能会因为一些微小的差异而导致完全不同的结果,例如:

  • 大小写:如“dusk” vs. “Dusk”。
  • 标点符号:逗号与分号的差异;是否有问号。
  • 缩写形式:例如“Isnt” vs. “Isn't”。
  • 拼写和特殊字符:例如,“Sao Paulo” vs. “São Paulo”。

这些差异会显著影响算法如何解释文本。例如,没有撇号的“Isnt”可能无法被识别为“is not”的缩写,像“ã”这样的特殊字符也可能会被误解或引起编码问题。

因此,文本标准化是NLP中的一个重要预处理步骤,它能够减少不相关的变异性,确保输入模型的数据保持一致。这是特征工程的一种形式,目的是消除那些对任务无关紧要的差异。

一种简单的文本标准化方法包括:

  • 转换为小写:减少大小写导致的差异。
  • 移除标点符号:通过删除标点符号简化文本。
  • 规范化特殊字符:将诸如“ã”这样的字符转换为标准形式(如“a”)。

通过这些步骤,前面的两个句子可以标准化为:

  1. “dusk fell i was gazing at the sao paulo skyline isnt urban life vibrant”
  2. “dusk fell i gazed at the sao paulo skyline isnt urban life vibrant”

通过标准化文本,我们能够减少那些可能混淆计算模型的差异,从而使模型能够更加专注于句子之间的实际差异,例如“was gazing at”和“gazed at”之间的区别,而不是标点符号或大小写的不同。

分词

在文本标准化之后,NLP中的下一个关键步骤就是分词。分词是将标准化后的文本拆分成称为词元的小单位。这些词元是模型理解和生成人类语言的构建块。分词的目的是为向量化做好准备,即将每个词元转换为机器能够处理的数值表示。

常见的分词方法有三种:

  1. 词级分词:根据空格和标点符号将文本拆分为单个单词。这是最直观的分词方式。
    例如:

   text = "dusk fell i gazed at the sao paulo skyline isnt urban life vibrant"tokens = text.split()print(tokens)

输出:

   ['dusk', 'fell', 'i', 'gazed', 'at', 'the', 'sao', 'paulo', 'skyline', 'isnt', 'urban', 'life', 'vibrant']

  1. 字符级分词:将文本拆分为单个字符,包括字母和有时标点符号。
    例如:

   text = "Dusk fell"tokens = list(text)print(tokens)

输出:

   ['D', 'u', 's', 'k', ' ', 'f', 'e', 'l', 'l']

  1. 子词级分词:将单词拆分为更小的有意义的子词单元,这种方法在字符级和词级分词之间找到了平衡。常见的算法有Byte-Pair Encoding (BPE)和WordPiece。
    例如:

   from transformers import BertTokenizertext = "I have a new GPU!"tokenizer = BertTokenizer.from_pretrained("bert-base-uncased")tokens = tokenizer.tokenize(text)print(tokens)

输出:

   ['i', 'have', 'a', 'new', 'gp', '##u', '!']

子词分词为模型提供了更多的灵活性,它不仅能处理常见的词汇,还能通过分解罕见的单词来保留语义信息,帮助模型更有效地理解上下文。

总结

分词是自然语言处理中为计算模型准备文本数据的基础步骤。通过理解和实施适当的分词策略,我们可以使模型更加高效地处理和生成人类语言。这为进一步探索单词嵌入(word embeddings)和语言建模(language modeling)等高级主题奠定了基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1556439.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Koa学习

Koa 安装与配置 1. 初始化项目 在终端中执行以下命令: # 创建项目文件夹 mkdir koa cd koa# 初始化并安装依赖 npm init -y npm install koa npm install nodemon --save-dev2. 修改 package.json 在 package.json 文件中进行如下修改: {"type…

LabVIEW提高开发效率技巧----点阵图(XY Graph)

在LabVIEW开发中,点阵图(XY Graph) 是一种强大的工具,尤其适用于需要实时展示大量数据的场景。通过使用点阵图,开发人员能够将实时数据可视化,帮助用户更直观地分析数据变化。 1. 点阵图的优势 点阵图&…

RabbitMQ 集群

文章目录 集群搭建使用 Docker-Compose 镜像队列搭建步骤工作原理镜像策略主从同步 同步延迟 集群搭建 参考: docker中安装并启动rabbitMQ Docker中搭建RabbitMQ集群 使用 Docker-Compose 这里提供一个脚本来使用 docker-compose 完成RabbitMQ集群的配置及启动…

【含开题报告+文档+PPT+源码】基于SSM + Vue的养老院管理系统【包运行成功】

开题报告 随着社会的发展和经济的进步,人口老龄化问题逐渐凸显。统计数据显示,全球范围内的老龄人口比例正在逐年上升,养老需求也随之增长。养老院作为提供专业养老服务的机构,承担着照料老人、提供医疗保健和社交活动等责任。传…

分享量化策略以及股票期货高频行情数据获取

**一、引言**在量化投资的世界中,回测是策略开发的关键环节。通过将策略应用于历史数据,我们可以模拟其表现并作出相应的调整。以下是一些实际案例,帮助我们更好地理解回测的重要性。 二、数据源 银河数据库(yinhedata.com) 提供…

线上线下融合:开启商业新时代

在数字化时代,线上线下融合成为商业发展的重要趋势。 一、全渠道体验 线上线下融合实现了不同渠道无缝连接。如消费者可在实体店试穿后线上购买,线上买的也能在实体店退换货。同时,通过整合数据,为消费者提供个性化服务。像根据购…

【NLP自然语言处理】01-基础学习路径简介

目的:让大家能够在 AI-NLP 领域由基础到入门具体安排: NLP介绍 文本预处理RNN 及其变体(涉及案例)Transformer 原理详解迁移学习 和 Bert 模型详解 (涉及案例)特点: 原理 实践每个文章会有练习…

UART驱动学习二(TTY体系)

目录 一、TTY体系中设备节点的差别1. 傻傻分不清 /dev/tty*2. 要讲历史了2.1 电传机teletype2.2 计算机需要控制2.2.1 使用teletype2.2.2 teletype被淘汰了2.2.3 个人电脑和虚拟终端 3. tty相关设备节点3.1 各类设备节点的差别3.2 /dev/ttyN(N1,2,3,..., 63)3.3 /dev/tty03.4 /…

C语言入门指南:为大一新生准备

C语言入门指南:为大一新生准备 C语言是许多编程语言的基础,许多现代编程语言(如C、Java、Rust等)都从C语言中汲取了灵感。因此,学习C语言不仅能帮助你掌握编程的基本概念,还能为学习其他编程语言打下坚实的…

Android一个APP里面最少有几个线程

Android一个APP里面最少有几个线程 参考 https://www.jianshu.com/p/92bff8d6282f https://www.jianshu.com/p/8a820d93c6aa 线程查看 Android一个进程里面最少包含5个线程,分别为: main线程(主线程)FinalizerDaemon线程 终结者守护线程…

详解正确创建好SpringBoot项目后但是找不到Maven的问题

目录 问题 解决步骤: 找到File->Project Structure... 设置SDK 设置SDKs 问题 刚刚在使用IDEA专业版创建好SpringBoot项目后,发现上方导航栏的运行按钮是灰色的,而且左侧导航栏的pom.xml的图标颜色也不是正常的,与此同时我…

Network - Telnet协议

Telnet 是一种网络协议,允许用户使用基于文本的界面通过网络与远程设备通信。它在早期的网络应用中被广泛用于远程管理和故障诊断,使用户能够连接到远程机器和服务,通常是通过 TCP/IP 网络。 Telnet is a network protocol that allows a use…

详细分析Spring Security OAuth2中的JwtAccessTokenConverter基本知识(附Demo)

目录 前言1. 基本知识2. Demo3. 实战 前言 java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新) 1. 基本知识 JwtAccessTokenConverter 是 Spring Security OAuth2 中的一…

如何创建免费版本的ABP分离模块?

由于ABP最近官方大改革,我们打开ABP.IO 官方会发现通过Cli创建模板的时候不能创建Trered类型的了 就是创建一个分层的解决方案,其中Web和Http API层在物理上是分开的。如果不勾选,则创建一个分层的解决方案,它不那么复杂&#xf…

Taipy:AI应用全栈开发神器

Taipy 是一个免费使用的 Python 库,任何具备基本 Python 技能的人都可以使用。它是数据科学家、机器学习工程师和 Python 程序员的得力工具。使用 Taipy,你可以轻松地将数据和机器学习模型转换为功能齐全的 Web 应用程序。在我们生活的瞬息万变的世界中&…

SpringBoot:让开发更加简单

文章目录 前言什么是 SpringBoot快速启动一个 SpringBoot 项目开发一个登录功能小结 前言 有一天,你脑海中闪现了一个想法:“学了 Java 好像还没怎么使用,今天要不用 Java 开发一个自己的网站?” 你想着不禁激动起来,…

棋牌灯控计时计费系统软件免费试用版怎么下载 佳易王计时收银管理系统操作教程

一、前言 【试用版软件下载,可以点击本文章最下方官网卡片】 棋牌灯控计时计费系统软件免费试用版怎么下载 佳易王计时收银管理系统操作教程 棋牌计时计费软件的应用也提升了顾客的服务体验,顾客可以清晰的看到自己的消费时间和费用。增加了消费的透明…

NASA:GES DISC 的 ATMOS L1 光谱和运行日志 V3 (ATMOSL1)大气痕量分子光谱(ATMOS)1 级产品

目录 简介 变量 代码 引用 网址推荐 0代码在线构建地图应用 机器学习 ATMOS L1 Spectra and Runlogs V3 (ATMOSL1) at GES DISC 简介 这是第三版大气痕量分子光谱(ATMOS)1 级产品,包含 netCDF 格式的光谱和运行日志(即 &…

Codeforces Round 977

这场比赛是晚上vp的,太逆天了自己,给我自己都菜笑了,第二题当时差了一个那个循序渐进的点没想到,关键细节都想到了,当时以为是错的就没写,第二题没做出来确实好久没遇到过了,裂开 话不多说&…

WMCTF 2024 wp

WEB PasswdStealer 前言 本来题目叫PasswdStealer的:) 考点就是CVE-2024-21733在SpringBoot场景下的利用。 漏洞基本原理参考 https://mp.weixin.qq.com/s?__bizMzg2MDY2ODc5MA&mid2247484002&idx1&sn7936818b93f2d9a656d8ed48843272c0不再赘述。 Spri…