当前位置: 首页 > news >正文

始理解NLP:我的第一章学习心得

从零开始理解NLP:我的第一章学习心得

前言

最近开始学习Datawhale的Happy-LLM教程,刚完成第一章《NLP基础概念》的学习。作为一个对大语言模型感兴趣的初学者,这一章给了我很多启发。想记录一下自己的学习收获和思考。

重新认识NLP:不只是"让机器懂人话"

学习之前,我对NLP的理解很简单——就是让计算机理解人类语言。但学完第一章后,我发现这个定义太粗浅了。

教材中提到,NLP是"一种让计算机理解、解释和生成人类语言的技术",它结合了计算机科学、人工智能、语言学和心理学等多个学科。这让我意识到,NLP其实是一个高度跨学科的领域。

最大的收获:NLP不仅要让机器"懂"语言,更要让它能执行各种复杂的语言处理任务,如中文分词、词性标注、文本分类、实体识别等。每个任务都有其特定挑战。

发展历程:一条清晰的技术演进路线

早期探索(1940-1960年代):从图灵测试说起

读到1950年图灵测试的部分时,我印象特别深刻:

“如果一台机器可以通过使用打字机成为对话的一部分,并且能够完全模仿人类,没有明显的差异,那么机器可以被认为是能够思考的。”

这个测试至今仍然是衡量AI的重要标准,可见图灵的前瞻性。但早期的机器翻译系统主要依赖字典查找和基本词序规则,效果很有限。

符号主义与统计方法(1970-1990年代):两大阵营的分化

这个时期最有趣的是研究者分成了两大阵营:

  • 符号主义:关注形式语言和生成语法
  • 统计方法:关注统计和概率方法

1980年代是个转折点,统计模型开始取代"手写"规则。这让我想到,很多技术进步都是从复杂的手工规则向自动学习的方向演进。

机器学习与深度学习(2000年代至今):质的飞跃

几个关键时间节点让我印象深刻:

  • 2013年:Word2Vec开创词向量新时代
  • 2018年:BERT引领预训练语言模型浪潮
  • 近年来:GPT-3等Transformer模型能生成接近人类水平的文本

这条发展脉络很清晰,每一步都在解决前一阶段的关键问题。

NLP任务:从基础到应用的完整体系

学习各种NLP任务时,我发现它们之间有很强的层次性和关联性。

基础处理任务

中文分词给我的冲击最大。英文天然有空格分隔,而中文需要算法来判断词汇边界:

英文:The cat sits on the mat.
切割:[The | cat | sits | on | the | mat]中文:今天天气真好,适合出去游玩.
切割:["今天", "天气", "真", "好", ",", "适合", "出去", "游玩", "。"]

教材中的错误分词例子更让我理解了这个任务的难度:

输入:雍和宫的荷花开的很好。
正确:雍和宫 | 的 | 荷花 | 开 | 的 | 很 | 好 | 。
错误:雍 | 和 | 宫的 | 荷花 | 开的 | 很好 | 。(地名被拆散)

子词切分的概念也很有启发性。比如"unhappiness"可以分解为"un"+“happi”+“ness”,让模型即使没见过完整单词,也能通过子词理解其含义。

理解与分析任务

实体识别的例子很直观:

输入:李雷和韩梅梅是北京市海淀区的居民,他们计划在2024年4月7日去上海旅行。
输出:[("李雷", "人名"), ("韩梅梅", "人名"), ("北京市海淀区", "地名"), ("2024年4月7日", "日期"), ("上海", "地名")]

关系抽取更进一步,不仅识别实体,还要找出实体间的关系:

输入:比尔·盖茨是微软公司的创始人。
输出:[("比尔·盖茨", "创始人", "微软公司")]

生成任务

文本摘要分为抽取式和生成式两种,这个区分很重要:

  • 抽取式:直接从原文选取关键句子
  • 生成式:重新组织和改写内容

后者显然更有挑战性,需要理解文本深层含义。

文本表示发展:从稀疏到密集的革命

向量空间模型的问题

教材中的数据让我震惊:

# "雍和宫的荷花很美"
# 词汇表大小:16384,句子包含词汇:5个词
vector = [0, 0, ..., 1, 0, ..., 1, 0, ..., 1, 0, ..., 1, 0, ..., 1, 0, ...]
# 稀疏率:(16384-5)/16384 ≈ 99.97%

99.97%的稀疏率!这意味着巨大的存储浪费和计算低效。

Word2Vec的突破

2013年Mikolov等人提出的Word2Vec真正解决了这个问题,提供了:

  • 低维密集表示:从高维稀疏到低维密集
  • 语义关系捕捉:相似词在向量空间中距离更近
  • 良好的泛化能力:基于上下文学习,不依赖词典

两种架构的区别

  • CBOW:根据上下文预测目标词,适用于小型数据集
  • Skip-Gram:根据目标词预测上下文,在大型语料中表现更好

ELMo的创新:从静态到动态

ELMo实现了"一词多义"的重大突破,同一个词在不同上下文中会有不同表示。这比Word2Vec的固定表示更符合语言的实际使用情况。

关键创新

  • 引入预训练思想
  • 使用双向LSTM捕捉上下文
  • 两阶段过程:预训练+任务微调

个人思考与收获

关于技术演进规律

学完这一章,我发现NLP的发展遵循一个清晰的模式:

  1. 发现问题:当前方法的局限性
  2. 提出新的表示方法:更好地建模语言
  3. 验证效果:在各种任务上的性能提升
  4. 暴露新问题:为下一阶段发展奠定基础

关于现在的大语言模型

现在的ChatGPT、GPT-4等大语言模型,实际上是建立在这几十年NLP研究积累基础上的。特别是:

  • Transformer架构:注意力机制的突破
  • 预训练思想:从ELMo开始的两阶段训练
  • 大规模数据:从统计方法时代就开始的数据驱动思路

对学习的启发

这一章让我明白,理解任何技术都需要了解其发展历程。每个看似突然的突破,其实都有深厚的历史积淀。

接下来我会继续学习第二章的Transformer架构,期待了解现代LLM的核心技术原理。

结语

第一章为我打开了NLP世界的大门。从早期的规则方法到现在的大语言模型,每一步发展都在解决实际问题,每一个创新都有其深刻的技术洞察。

最深的感受:NLP不是一蹴而就的技术,而是人类几十年来持续探索的结果。理解这个过程,对于真正掌握现代AI技术意义重大。


这是我学习Happy-LLM教程第一章的心得记录,如果你也在学习NLP相关内容,欢迎交流讨论!

相关资源

  • Happy-LLM项目
  • 在线阅读地址

相关文章:

  • SQL注入漏洞-下篇
  • Hive 3.x集成Apache Ranger:打造精细化数据权限管理体系
  • 【Unity笔记】Unity URP 渲染中的灯光数量设置— 场景、使用方法与渲染原理详解
  • Mac Mini M4 安装 jdk8 以及 隐藏 设置内的Java菜单
  • Mac 安装JD-GUI
  • Windows PPT/word怎么pdf不降低分辨率,插入可编辑
  • CSS 选择器、PxCook软件、盒子模型
  • UE5 自动寻路AI Move To节点学习笔记
  • 智能开发工具RubyMine v2025.1正式发布——增强AI功能部署
  • 随着数字资产的增长,香港推进稳定币监管
  • 【Mac 上离线安装 ADB 工具】
  • 2.5G PHY master和slave的tx/rx控制
  • React源码系列之Hooks(useCallback、useMemo)
  • 内存泄漏到底是个什么东西?如何避免内存泄漏
  • 1.2 人工智能的分类
  • 基于传统机器学习SVM支持向量机进行分类和目标检测-视频介绍下自取
  • Vue 3 自定义指令进阶:打造复用性极高的 DOM 交互逻辑
  • 【Java学习笔记】Collections工具类
  • 熠速出品丨PolarControl总线功能介绍
  • 望言OCR:免费视频字幕提取工具,高效识别吊打付费软件
  • 如何用dede做带下单的网站/响应式网站 乐云seo品牌
  • wordpress内部结构/开封网站优化公司
  • 个人网站可以做资讯吗/建设优化网站
  • php做网站主要怎么布局/企业微信营销管理软件
  • 英文响应式网站建设/什么平台可以免费发广告
  • 建设网站内容的策划书/seo外链收录