产品经理的人工智能课 02 - 自然语言处理

news/2025/2/6 14:44:05 标签: 人工智能, 产品经理, 自然语言处理

产品经理人工智能课 02 - 自然语言处理

    • 1 自然语言处理是什么
    • 2 一个 NLP 算法的例子——n-gram 模型
    • 3 预处理与重要概念
      • 3.1 分词 Token
      • 3.2 词向量化表示与 Word2Vec
    • 4 与大语言模型的交互过程
    • 参考链接

大语言模型(Large Language Models, LLMs)是自然语言处理(NLP)领域的一个重要分支和核心技术,两者关系密切。
所以我们先了解一些自然语言处理的基础概念,为后续了解大语言模型做一些铺垫。

作为一篇“科普”性质的文章,我会尽量避免使用数学公式、抽象的表述。

1 自然语言处理是什么

自然语言处理(Natural Language Processing,NLP)是人工智能和语言学的一个交叉领域,致力于让计算机理解、生成和处理人类语言,这对应了自然语言处理的三个重要领域,分别是:

  • 自然语言理解(Natural Language Understanding, NLU):给定文本输入,分析其中的情感、抽取意图、匹配语义、进行摘要
  • 自然语言转换(Natural Language Transformation, NLT):把一段文本进行翻译、风格转换,把语音识别成文字等等
  • 自然语言生成(Natural Language Generation, NLG):根据指令生成文字、形成互动聊天、生成语音等

我们可以看出大语言模型结合了自然语言理解、自然语言转换和自然语言生成。

2 一个 NLP 算法的例子——n-gram 模型

为了方便大家理解 NLP,这里举一个 NLP 算法的例子。

我们先引入一个问题:want i english food 和 i want english food 哪个更像人话?
解决思路:我们准备一大堆的“人话”,即语料库,并对语料库中的前后关系进行统计,例如 i 后边是 want 的数量是多少、eat 后边是 food 的数量是多少。计算一句话是人话的可能性,就转化成了计算这句话中每两个词都挨着的可能性。

这个图片就非常直观地体现了这个思想
在这里插入图片描述
图片来源:自然语言处理中N-Gram模型介绍

明显看出 i want to eat lunch、food to eat、i want to spend 都是比较像“人话”的表述。
回到最初问题,即:want i english food 和 i want english food 哪个更像人话?就是分别计算两句话成立的可能性。
以 i want english food 为例,就是计算几件事同时发生的概率:

  • 句子以 i 开头
  • i 后边是 want
  • want 后边是 english
  • english 后边是 food
  • 句子以 food 结尾

算法名称 n-gram,上面这个就是 n=2,即二元语言模型的示例,如果让 n=3,就是考虑连续 3 个单词同时出现的概率。
n-gram 算法的一个常见应用是推荐词备选
在这里插入图片描述

图片来源:自然语言处理中N-Gram模型介绍

3 预处理与重要概念

NLP 方法,通常都以文本数据集开始,可以来自于电子邮件、用户创作的内容、文学作品等等。

首先需要对这些文本数据集进行“预处理”,形成语料库(复数:corpora) ,常见的预处理操作包括:

  • 文本清理:例如去除表情符号、多余的空格、大小写统一等
  • 词形还原:将单词还原为词典中的标准形式(lemma),更准确但计算成本较高。例如:"running""run"
  • 分词:将文本分割成最小单元(如单词、子词或字符)的过程,这里的“最小单元”是 NLP 处理中的最小单元,例如:"我爱自然语言处理"["我", "爱", "自然语言", "处理"]
  • 词向量化表示:将文本转换为数值形式,以便模型能够处理

其中“分词”和“词向量化表示”是在大语言模型中也常常提到,这里做一些重点介绍

3.1 分词 Token

分词(Tokenization)自然语言处理(NLP)中的一项基础且关键的任务,目的是将连续的文本分割成有意义的单元(如单词、子词或字符)。
其中最小单元称为标记(Token) ,也叫“令牌”,大模型接口收费中提到的 Token 就是这个“标记”。
用来完成分词任务的算法或者程序,被称为分词器(Tokenizer)

在这里插入图片描述

图片来源:传统 NLP 快速回顾

每种 NLP 算法都会根据自己的需求设置分词方式,常见的分词器种类包括:

  • 基于规则的分词器: 这种分词器使用预定义的规则来分割文本,例如根据标点符号或特定的词语
  • 基于统计的分词器: 这种分词器使用统计模型来预测词元的边界,例如基于 n-gram 或隐马尔可夫模型
  • 基于词典的分词器:通过预先构建好的词典,将文本中的词语与词典中的词条进行匹配,从而实现分词

顺嘴一提,huggingface 中的 Tokenizer 实际上不光光是分词器,还包含了词向量化和语句编码的功能。

3.2 词向量化表示与 Word2Vec

为什么需要词向量化呢?因为计算机比较擅长处理数字,所以需要把文本数据转换成计算机可以理解的数值形式。
词的向量化表示方法有很多,目前被大语言模型广泛应用的方法是 Word2Vec,是 Google 在 2013 年推出的一个用于生成词向量的方法。

Word2Vec 通过训练一个浅层的神经网络,把每个 token 会变成一个多维向量(50 维或 100 维比较常见),当我们对这些向量进行运算, 会发现 v ( 国王 ) − v ( 男人 ) + v ( 女人 ) = v ( 女王 ) v(国王) - v(男人) + v(女人) = v(女王) v(国王)v(男人)+v(女人)=v(女王),也就是说这些词向量能够捕捉到词语之间的语义关系,例如相似性、类比关系等。
我们也可以想象,代表红灯的向量,在某些维度上一定与代表太阳向量有比较大的相似性(都是红色的发光物体),在另一些维度上和代表自行车的向量有较大的相似性(都和交通有关)。

4 与大语言模型的交互过程

大语言模型(Large Language Models, LLMs)是自然语言处理(NLP)领域的一个重要分支和核心技术。
大语言模型基于深度学习的模型,通过大规模文本数据训练,能够生成和理解自然语言。ChatGPT、Gemini、豆包、QWen 等等大模型,都属于这个范畴。

当我们与大语言模型交互时,你会输入一系列文字。
大模型首先会对你的输入文本进行预处理,形成 token,把每个 token 变成一个向量,甚至把整句话或者段落变成一个个向量,并在回话期间保存在模型中,然后进行一些计算。
如上文所述,词向量是可以捕捉词语之间的语义关系的,所以这个计算过程就有机会分析输入文本的语法结构、语义关系和上下文信息,从而理解你的意图。
而大语言模型的输出过程,实际上是预测下一个词语或句子的概率分布,根据概率给出对应的文本,最终形成完整的文本回复。

关于大语言模型的训练和算法选择和更多的原理,将在后续文章中介绍。

参考链接

传统NLP与大模型入门:基础概念篇

PyTorch 自然语言处理

自然语言处理中N-Gram模型介绍


http://www.niftyadmin.cn/n/5843085.html

相关文章

技术书籍写作与编辑沟通指南

引言 撰写技术书籍不仅仅是知识的输出过程,更是与编辑团队紧密合作的协同工作。优秀的技术书籍不仅依赖作者深厚的技术背景,还需要精准的表达、流畅的结构以及符合出版要求的编辑润色。因此,如何高效地与编辑沟通,确保书籍质量&a…

Android Studio:Application 和 Activity的区别

Application 和 Activity 是 Android 中非常重要的两个组件,它们分别负责不同的生命周期管理和应用的不同层次的操作。 Application 是应用级别的生命周期管理,它在整个应用运行时只有一个实例,负责应用的全局初始化和资源管理。Activity 是…

【PostgreSQL内核学习 —— (WindowAgg(二))】

WindowAgg WindowAggState 结构体窗口聚合行为ExecInitWindowAgg 函数ExecWindowAgg 函数代码逻辑解释:计算窗口偏移量代码逻辑详细解释: 代码逻辑解释:窗口聚合分区初始化与行推进逻辑代码逻辑详细解释: 代码逻辑解释&#xff1a…

Jupyterlab和notebook修改文件的默认存放路径的方法

文章目录 1.缘由2.操作流程2.1找到默认的路径2.2创建配置文件2.3修改配置文件内容2.4注意事项 1.缘由 我自己使用jupyterlab的时候,打开是在这个浏览器上面打开的,但是这个打开的文件路径显示的是C盘上面路径,所以这个就很麻烦,因…

WordPress使用(2)

上一篇文章讲述了WordPress的基本安装,主要是docker方式的处理。本文章主要介绍WordPress安装后的其他设置。 1. 安装后设置 安装后碰到的第一个需求就是安装一个合适的主题,但WordPress默认的上传文件大小是2M,远远无法满足要求&#xff0…

2024美团春招硬件开发笔试真题及答案解析

目录 一、选择题 1、在 Linux,有一个名为 file 的文件,内容如下所示: 2、在 Linux 中,关于虚拟内存相关的说法正确的是() 3、AT89S52单片机中,在外部中断响应的期间,中断请求标志位查询占用了()。 4、下列关于8051单片机的结构与功能,说法不正确的是()? 5、…

开源AI智能名片2 + 1链动模式S2B2C商城小程序:内容价值创造与传播新引擎

摘要:本文聚焦于信息爆炸时代下,内容价值的创造与传播。随着用户角色的转变,其在内容生产与传播中的价值日益凸显。同时,深入探讨开源AI智能名片2 1链动模式S2B2C商城小程序这一创新商业模式,如何借助用户创造内容并传…

Vue.js 新的生命周期钩子:`onMounted`, `onUpdated` 等

Vue.js 新的生命周期钩子:onMounted, onUpdated 等 今天我们来聊聊 Vue 3 中的生命周期钩子,特别是 onMounted、onUpdated 等。如果你对如何在 Vue 3 的组合式 API(Composition API)中使用这些钩子感到困惑,那么这篇文…