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

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

    • [1 自然语言处理是什么](#1 自然语言处理是什么)
    • [2 一个 NLP 算法的例子------n-gram 模型](#2 一个 NLP 算法的例子——n-gram 模型)
    • [3 预处理与重要概念](#3 预处理与重要概念)
      • [3.1 分词 Token](#3.1 分词 Token)
      • [3.2 词向量化表示与 Word2Vec](#3.2 词向量化表示与 Word2Vec)
    • [4 与大语言模型的交互过程](#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模型介绍

相关推荐
张较瘦_28 分钟前
[论文阅读] 人工智能 | 机器学习工作流的“救星”:数据虚拟化服务如何解决数据管理难题?
论文阅读·人工智能·机器学习
蓝卓工业操作系统1 小时前
天铭科技×蓝卓 | “1+2+N”打造AI驱动的汽车零部件行业智能工厂
人工智能·科技·汽车
zzywxc7871 小时前
编程算法在金融、医疗、教育、制造业等领域的落地案例
人工智能·算法·金融·自动化·copilot·ai编程
zzywxc7871 小时前
编程算法在金融、医疗、教育、制造业的落地应用。
人工智能·深度学习·算法·机器学习·金融·架构·开源
枫叶梨花1 小时前
用FunASR轻松实现音频转SRT字幕:完整脚本与解析
自然语言处理·音视频
修一呀2 小时前
【数据标注】详解使用 Labelimg 进行数据标注的 Conda 环境搭建与操作流程
人工智能·conda
白熊1885 小时前
【大模型LLM】梯度累积(Gradient Accumulation)原理详解
人工智能·大模型·llm
愚戏师6 小时前
机器学习(重学版)基础篇(算法与模型一)
人工智能·算法·机器学习
F_D_Z6 小时前
【PyTorch】图像多分类项目部署
人工智能·pytorch·python·深度学习·分类
音视频牛哥8 小时前
打通视频到AI的第一公里:轻量RTSP服务如何重塑边缘感知入口?
人工智能·计算机视觉·音视频·大牛直播sdk·机器视觉·轻量级rtsp服务·ai人工智能